有沒有人知道在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