我想知道如何检查字符串中是否存在完整的单词子串。作为一个具体的例子,我希望能够将minute
替换为foo
,将minutes
改为bar
。
目前,我正在使用以下方法检查子字符串是否存在:
if ([text rangeOfString:word].location != NSNotFound){
NSLog(@"Word is found");
}
但是,我遇到的问题是,由于始终首先检测到子串minute
,然后minutes
,我将始终获得替换foo
,但永远不会bar
。我如何能够检测字符串中是否存在整个子字符串?
谢谢!
答案 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
返回找到,你用新的字符串替换它,用你替换它的任何字符串。这样,无论是分钟,分钟还是分钟,无论如何都无关紧要。