我需要從NSString獲取一個子字符串。我需要-
後的子字符串,如果它後面E
,直到下一個-
如何遍歷NSString並獲取子字符串?
例如,我有這個字符串A-BB-CD-EF_10AW -ZWE_EG
我需要得到EF_10AW 。任何想法如何迭代通過NSString並動態獲取子字符串?
我需要從NSString獲取一個子字符串。我需要-
後的子字符串,如果它後面E
,直到下一個-
如何遍歷NSString並獲取子字符串?
例如,我有這個字符串A-BB-CD-EF_10AW -ZWE_EG
我需要得到EF_10AW 。任何想法如何迭代通過NSString並動態獲取子字符串?
如果您的字符串包含以E開頭並以 - 結尾的多個字符串,則必須有一個可找到所有這些字符串的解決方案。對於這樣的解決方案請參考下面的代碼:
NSString *str = @"A-BB-CD-EF_10AW-ZWE_EG";
NSArray *compArray = [str componentsSeparatedByString:@"-"];
NSMutableArray *arrayStartWithE = [NSMutableArray array];
for (int i = 0; i < [compArray count]; i++) {
if ([[compArray objectAtIndex:i] hasPrefix:@"E"]) {
[arrayStartWithE addObject:[compArray objectAtIndex:i]];
}
}
這裏arraystartWithE會給你所有這些類型的字符串。希望這可以幫助你。
試試這個 splitArray = [yourString componentsSeparatedByString:@「 - E」];
無需手動循環。
NSString *haystack = @"A-BB-CD-EF_10AW-ZWE_EG";
NSString *haystackPrefix = @"A-BB-CD-";
NSString *haystackSuffix = @"-ZWE_EG";
NSRange needleRange = NSMakeRange(haystackPrefix.length,
haystack.length - haystackPrefix.length - haystackSuffix.length);
NSString *needle = [haystack substringWithRange:needleRange];
NSLog(@"needle: %@", needle); // -> "hello World"
使用正則表達式。我現在無法訪問Xcode,但是這個表達式創建了一個捕獲物,返回EF_10AW給定您的測試字符串:^。* - (? E。*) - 。* $ – jp2g