我有一个像这样的字符串,
NSString *strTest = @"Hii how are you doing @Ravi , how do u do @Kiran where are you @Varun";
我想要一个来自上面字符串的子字符串,它只包含以'@'开头的单词 即我需要
NSString *strSubstring = @"Ravi @kiran @varun";
请帮助我如何实现这个目标
答案 0 :(得分:1)
将字符串分开如下: -
NSArray * names = [myString componentsSeparatedByString:@" "];
names数组现在将包含字符串中的所有单词,现在您可以遍历数组并检查其索引中包含哪个“@”字符。
如果找到“@”,请将该索引值存储在某个变量中。
答案 1 :(得分:0)
你会喜欢实现这段代码。我使用正则表达式来执行这项工作。它会为您提供匹配的字符串。
NSString *strTest = @"Hii how are you doing @Ravi , how do u do @Kiran where are you @Varun";
NSError *error;
//&[^;]*;
NSRegularExpression *exp =[NSRegularExpression regularExpressionWithPattern:@"@[^ ]*" options:NSRegularExpressionCaseInsensitive error:&error];
NSArray *s1= [exp matchesInString:strTest options:NSMatchingReportCompletion range:NSMakeRange(0, [strTest length]) ];
[s1 enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSTextCheckingResult *result = obj;
NSString *str = [strTest substringWithRange:result.range];
NSLog(@"str %@",str);
}];