如何在ios中以必需的格式子字符串

时间:2015-03-27 12:15:26

标签: ios objective-c nsstring substring

我有一个像这样的字符串,

NSString *strTest = @"Hii how are you doing @Ravi , how do u do @Kiran  where are you @Varun";

我想要一个来自上面字符串的子字符串,它只包含以'@'开头的单词 即我需要

NSString *strSubstring =  @"Ravi @kiran @varun";  

请帮助我如何实现这个目标

2 个答案:

答案 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);

    }];