NSString正则表达式字符串匹配/搜索

时间:2013-04-24 23:58:38

标签: ios objective-c regex nsstring

我有一个像@“random ++ qwerty / asdf”的字符串,我想要删除qwerty部分。 “random ++”和“/ asdf”将始终相同。我将如何使用正则表达式执行此操作?我对它们是如何工作感到困惑。

1 个答案:

答案 0 :(得分:14)

解决问题!!

此代码准确提供您想要的内容,

NSString *yourString = @"random ++qwerty/asdf random ++derty/asdf random ++noty/asdf";
NSError *error = NULL;

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"random \\+\\+(\\w+)/asdf" options:NSRegularExpressionCaseInsensitive error:&error];


[regex enumerateMatchesInString:yourString options:0 range:NSMakeRange(0, [yourString length]) usingBlock:^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop){

    // detect
    NSString *insideString = [yourString substringWithRange:[match rangeAtIndex:1]];

    //print
    NSLog(@"%@",insideString);

}];


输出:
   的 QWERTY
   derty
   noty