如何检测NSString中是否存在完整的子字符串

时间:2014-06-11 20:10:18

标签: ios nsstring

我想知道如何检查字符串中是否存在完整的单词子串。作为一个具体的例子,我希望能够将minute替换为foo,将minutes改为bar

目前,我正在使用以下方法检查子字符串是否存在:

if ([text rangeOfString:word].location != NSNotFound){
    NSLog(@"Word is found");
}

但是,我遇到的问题是,由于始终首先检测到子串minute,然后minutes,我将始终获得替换foo,但永远不会bar 。我如何能够检测字符串中是否存在整个子字符串?

谢谢!

2 个答案:

答案 0 :(得分:2)

你可以这样做:

NSString *original = @"Here is a string in a minute with loads of minutes.";

NSString *replaceMinutes = [original stringByReplacingOccurrencesOfString:@"minutes" withString:@"bar"];

NSString *replaceMinute = [replaceMinutes stringByReplacingOccurrencesOfString:@"minute" withString:@"foo"];

NSLog(replaceMinute);

答案 1 :(得分:1)

您始终可以在数组中分解字符串并将其重建为另一个字符串。

NSArray* stringWords = [NSString componentsSeparatedByString:@" "]

然后你可以迭代每个单词,如果rangeOfString返回找到,你用新的字符串替换它,用你替换它的任何字符串。这样,无论是分钟,分钟还是分钟,无论如何都无关紧要。