我试图找到一种方法将某种格式的字符串解析为子字符串数组Ex:原始字符串是
"hii @[jitendra pradhan](contact:3264) and @[iOSs check](contact:2514) abc xyz etc"
我必须像
一样hii jitendra pradhan and iOSs check abc xyz etc
我试图通过正则表达式删除像 [,],@,(,)这样的特殊字符,但我找不到确切的解决方案,它会给我需要的字符串和各自的ID。
我尝试按“@ [”进行分组,然后获取每个单词的范围。
NSUInteger count = 0, length = [str length];
NSRange range = NSMakeRange(0, length);
while(range.location != NSNotFound)
{
range = [str rangeOfString: @"@[" options:0 range:range];
if(range.location != NSNotFound)
{
NSLog (@"%d"range.location);
}
}
答案 0 :(得分:0)
使用正则表达式分三步:
删除括号括起的字符
删除前导@"
删除]
NSString *string = @"hii @[jitendra pradhan](contact:3264) and @[iOSs check](contact:2514) abc xyz etc";
NSString *newString = string;
newString = [newString stringByReplacingOccurrencesOfString:@"\\([^)]+\\)" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, newString.length)];
newString = [newString stringByReplacingOccurrencesOfString:@"@\\[" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, newString.length)];
newString = [newString stringByReplacingOccurrencesOfString:@"\\]" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, newString.length)];
NSLog(@"newString: %@", newString);
输出:
newString:hii jitendra pradhan和iOSs检查abc xyz等