假設我有以下字符串中提取子:使用正則表達式查找和字符串
唧唧歪歪喇嘛我不知道該怎麼寫起始名1 END更 唧唧歪歪喇嘛我不知道該怎麼寫起始名2到底有多 唧唧歪歪喇嘛我不知道該怎麼寫起始名3 END
我想提取以下數組:
名1
名2
名3
什麼是跟iOS SDK做到這一點的最好方法是什麼?
假設我有以下字符串中提取子:使用正則表達式查找和字符串
唧唧歪歪喇嘛我不知道該怎麼寫起始名1 END更 唧唧歪歪喇嘛我不知道該怎麼寫起始名2到底有多 唧唧歪歪喇嘛我不知道該怎麼寫起始名3 END
我想提取以下數組:
名1
名2
名3
什麼是跟iOS SDK做到這一點的最好方法是什麼?
試試這個:
NSArray *names = [yourString componentsSeparatedByString:@"START"];
NSArray *namesArray = [NSArray array];
for (int i = 1; i < [names count]; i++) {
NSString *thisLine = [names objectAtIndex:i];
NSString *name = [thisLine substringToIndex:[thisLine rangeOfString:@"END"].location];
[namesArray addObject:name];
NSLog(@"Your name: %@", name);
}
只注意到你想這與正則表達式...這不是當然的,但也許它可以幫助!
使用
NSRegularExpression regularExpressionWithPattern:@"(?<=START).*?(?= END)"
參見Use regular expression to find/replace substring in NSString
要使用正則表達式做到這一點:
(?<=START\s)(.+?)(?=\sEND)
的確,這是一個解決方案! +1,它可以幫助我,但我很好奇我怎麼能用正則表達式來做到這一點 –