有没有人知道在iPhone开发的目标c中找到字符串中的字符串(如果存在的话)的高效方法,我需要在两个单词之间找到字符串的部分,例如,在这里我需要查找的字符串,其中Z是我要找的值中的CO2评级数...查找字符串中的字符串
xxxxxco_2zendxxxxxxx
有没有人知道在iPhone开发的目标c中找到字符串中的字符串(如果存在的话)的高效方法,我需要在两个单词之间找到字符串的部分,例如,在这里我需要查找的字符串,其中Z是我要找的值中的CO2评级数...查找字符串中的字符串
xxxxxco_2zendxxxxxxx
理想情况下,我会为此使用正则表达式,可能类似于co_2(.*?)end
,所以我会看看RegexKitLite为stimms suggests。
如果不适合,你可以提取你与像这样寻找字符串:
NSString* src = @"xxxxxco_2zendxxxxxxx";
NSRange startMarker = [src rangeOfString:@"co_2"];
if (startMarker.location != NSNotFound) {
NSScanner* scanner = [NSScanner scannerWithString:src];
[scanner setScanLocation:startMarker.location + startMarker.length];
NSString* co2Value = @"";
[scanner scanUpToString:@"end" intoString:&co2Value];
NSLog(@"co_2 value is %@", co2Value);
} else {
NSLog(@"co_2 marker not found");
}
在这里,我们寻找@"co_2"
,遇事如果它没有找到,则使用NSScanner
抢从该字符串之后的所有内容到下一次出现的@"end"
。请注意,如果缺少@"end"
,则此代码将默默获取该字符串的其余部分。
This可能是你的兴趣(尤其是rangeOfString功能):
(NSRange)rangeOfString:(NSString *)aString
字符串匹配是特别适用于处理遗传物质算法以及探索域。你可以看看计算机艺术编程的10倍,比你想知道的字符串匹配更多。
大部分是矫枉过正,你会很好地使用正则表达式。检查http://regexkit.sourceforge.net/RegexKitLite/在iPhone上运行的正则表达式库。
干杯,不知道那可用。 – 2009-08-24 15:03:21
完美,谢谢。代码也第一次工作! – 2009-08-24 14:51:58