4

@"random ++qwerty/asdf" のような文字列があり、qwerty 部分を釣り上げたいと考えています。「random ++」と「/asdf」は常に同じになります。正規表現を使用してこれを行うにはどうすればよいですか? 私はそれらがどのように機能するかについて混乱しています。

4

1 に答える 1

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

于 2013-05-10T20:00:34.927 に答える