1

假设我有以下字符串:

bla bla bla bla 我不知道该写什么 START name 1 END 更多 bla bla bla bla 我不知道该写什么 START name 2 END 更多 bla bla bla bla 我不知道该写什么 START name 3 END

我想提取以下数组:

名称 1

名称 2

名称 3

使用 iOS SDK 的最佳方法是什么?

4

3 回答 3

3

尝试这个:

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);
}

刚刚注意到您想要使用正则表达式...这当然不是,但也许它有帮助!

于 2012-11-15T12:48:29.560 回答
1

利用

NSRegularExpression regularExpressionWithPattern:@"(?<=START ).*?(?= END)" 

另请参阅使用正则表达式查找/替换 NSString 中的子字符串

于 2012-11-15T13:22:47.200 回答
0

要使用正则表达式执行此操作:

(?<=START\s)(.+?)(?=\sEND)
于 2012-11-15T13:23:50.193 回答