次の文字列があるとします。
何を書けばいいのかわからないSTARTname1 END more bla blablabla何を書けばいいのかわからないSTARTname2 END more bla blablabla何を書けばいいのかわからないSTARTname3 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)"
正規表現を使用して NSString の部分文字列を検索/置換するも参照してください
これを正規表現で行うには:
(?<=START\s)(.+?)(?=\sEND)