-1
A
回答
0
我已经找到了解决办法
NSArray *arrayOne = [prettyFunctionString componentsSeparatedByString:@"["];
NSString *parsedOne = [arrayOne objectAtIndex:1];
NSArray *arrayTwo = [parsedOne componentsSeparatedByString:@"]"];
NSString *parsedTwo = [arrayTwo objectAtIndex:0];
NSArray *arrayThree = [parsedTwo componentsSeparatedByString:@" "];
NSString *className = [arrayThree objectAtIndex:0];
NSString *functionName = [arrayThree objectAtIndex:1];
感谢反正
+0
如果有人有更好的解决方案,请发帖 – sulabh
0
也许这样的事情可能会为你工作
NSString * string = @"sometext[string1 string2]sometext";
NSString * pattern = @"(.*)\[(.+) (.+)\](.*)"
NSRegularExpression * expression = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:NULL];
NSTextCheckingResult * match = [expression firstMatchInString:string options:NSMatchingReportCompletion range:NSMakeRange(0, string.length)];
if (match) {
NSString * substring1 = [string substringWithRange:[match rangeAtIndex:2]];
NSString * substring2 = [string substringWithRange:[match rangeAtIndex:3]];
// do something with substring1 and substring2
}
0
你可以使用这个简单的方法途径
NSString *str = @"sometext[string1 string2]someText";
NSInteger loc1 = [str localizedStandardRangeOfString:@"["].location;
NSInteger loc2 = [str localizedStandardRangeOfString:@"]"].location;
NSString *resultString = [str substringWithRange:(NSRange){loc1+1,loc2-loc1}];
NSArray *resultArry = [resultString componentsSeparatedByString:@" "];
结果数组将包含您所需的Reuslt
0
为了完整性 - 如果您尝试从已知模式的字符串中提取字符串,则需要使用NSScanner
。
这通过一次通过字符串。
NSString *string = @"sometext[string1 string2]someText";
NSScanner *scanner = [NSScanner scannerWithString:string];
NSString *str1;
NSString *str2;
[scanner scanUpToString:@"[" intoString:nil]; // Scan up to the '[' character.
[scanner scanString:@"[" intoString:nil]; // Scan the '[' character and discard it.
[scanner scanUpToCharactersFromSet:[NSCharacterSet whitespaceCharacterSet] intoString: &str1]; // Scan all the characters up to the whitespace and accumulate the characters into 'str1'
[scanner scanUpToCharactersFromSet:[NSCharacterSet alphanumericCharacterSet] intoString:nil]; // Scan up to the next alphanumeric character and discard the result.
[scanner scanUpToString:@"]" intoString:&str2]; // Scan up to the ']' character, accumulate the characters into 'str2'
// Log the output.
NSLog(@"First String: %@", str1);
NSLog(@"Second String: %@", str2);
这使输出到控制台:
2015-09-23 11:31:02.522 StringExtractor[46678:4289499] First String: string1
2015-09-23 11:31:02.522 StringExtractor[46678:4289499] Second String: string2
相关问题
- 1. 从字符串中提取所有出现的特定字符
- 2. 提取特定字符串变量之间的字符串
- 3. T-sql子字符串函数提取特定的字符串
- 4. 从另一字符串中提取字符串两个特定字符
- 5. VB2010从数组字符串中提取特定字符
- 6. 在java中使用字符串:提取特定字符串
- 7. 获取字符串的特定字符
- 8. 如何提取特定的字符串
- 9. sed的 - 提取特定字符串中
- 10. 提取特定的字符串
- 11. 提取字符串特定的格式
- 12. 提取字符串的字符串值
- 13. 从字符串获取特定字符
- 14. 特定字符串识别与提取
- 15. 如何提取特定字符串
- 16. 从字符串中提取特定值
- 17. 从特定字符串提取信息
- 18. 从字符串中提取字符串
- 19. 从包含特殊字符的字符串中提取子串
- 20. 从字符串中提取特别匹配的子字符串
- 21. 如何从cpp中给定的字符串中提取特定的字符串?
- 22. 从字符串中的特定字符串模式中提取数字
- 23. 将字符串提取到SQL Server中的特定字符
- 24. 如何取出特定字符串
- 25. 特定字符串出现时的Java子字符串字符串
- 26. sed提取出特定分隔符之间出现的每一个字符串
- 27. 从字符串中提取hashtag直到出现特殊字符
- 28. 如何在字符串的特定子字符串之后获取字符串?
- 29. PHP/MySQL提取字符串中特定的一段文字
- 30. 从特定字符的数组中的字符串获取值?
什么是你'sometext'那是一个'Array'还是什么? – Praveenkumar
其字符串文本 – sulabh
您可以使用'NSRegularExpression'或'rangeOfString:'。你有什么尝试? – Larme