objective-C用一个单词开头

时间:2014-05-15 14:45:35

标签: objective-c nsstring

我想将一个以' @'开头的单词子字符串。 使用rangeOfString只会给我一个单词的开头,然后再次搜索' &#39 ;.

必须有一种更优雅的方式,对吧?

1 个答案:

答案 0 :(得分:0)

对于这种情况,我全都是NSRegularExpression。这对你来说是一个很好的起点。

NSString *string = @"Hello @world how are @you?";
// Find all words beginning with an '@' symbol.
NSRegularExpression *expression = [NSRegularExpression regularExpressionWithPattern:@"@(\\w+)"
                                                                            options:0
                                                                              error:NULL];
for (NSTextCheckingResult *result in [expression matchesInString:string
                                                         options:0
                                                           range:NSMakeRange(0, [string length])])
{
    NSLog(@"%@", [string substringWithRange:[result rangeAtIndex:1]]);
}