ios - iOS如何在一个巨大的字符串的2个字符串之间找到多个字符串?

标签 ios objective-c regex nsstring substring

我说的是NSString乱七八糟

dsadasdasd"my_id": "qwerr"dcdscsdcds"my_id": "oytuj"adasddasddsddaS"my_id": "sjghjgjg"ddsfsdfsdf

我如何找到之间的字符串的每个实例
"my_id": "

然后下一个
"

所以在这里,我希望结果为的NSArray:
qwerr
oytuj
sjghjgjg

我在寻找提示,正则表达式或任何其他解决方案都很好。我已经尝试了多种使用NSRangesubstringWithRange组合的方法,但无法使其起作用:(

帮助将不胜感激!谢谢

最佳答案

我忽略了收盘报价的要求。好吧,在这种情况下,带有或不带有正则表达式的代码的长度将相似。

这是一个正则表达式建议,它基本上提取"my_id": "之后到下一个"或字符串结尾的所有子字符串:

NSError *error = nil;
NSString *pattern = @"\"my_id\": \"([^\"]+)";
NSString *string = @"dsadasdasd\"my_id\": \"qwerr\"dcdscsdcds\"my_id\": \"oytuj\"adasddasddsddaS\"my_id\": \"sjghjgjg\"ddsfsdfsdf";
NSRange range = NSMakeRange(0, string.length);
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:0 error:&error];
NSArray *matches = [regex matchesInString:string options:0 range:range];
for (NSTextCheckingResult* match in matches) {
    NSRange group1 = [match rangeAtIndex:1];
    NSLog(@"group1: %@", [string substringWithRange:group1]);
}

参见IDEONE demo

关于ios - iOS如何在一个巨大的字符串的2个字符串之间找到多个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33364658/

相关文章:

javascript - 在js中用多个定界符和特殊字符分割

ios - 核心数据: How to insert huge arrays to core data in swift?

ios - 一个 UITableViewCell 正在控制其他

objective-c - clang-format 是否识别新的 NS_CLOSED_ENUM Objective-C 宏?

ios - 将 Swift 导入 Objective-C - "use of undeclared identifier"

javascript - 正则表达式提取最后一个正斜杠和特定字符串之间的文本(javascript)

objective-c - iOS:时钟更改后重新创建倒计时器?

iphone - 如何删除/禁用配置文件过期警告

ios - 仍连接到蓝牙时通过 iBeacon 唤醒 iOS 应用程序

java - 在第 4 个斜杠后分割 URL 正则表达式