我试图检查NSString
是否包含子字符串。但它不起作用,因为字符串中的单词之间没有空格。例如我需要找出是否'你好'存在于此字符串中:
@" test.hello"
NSString containsString
找不到它。还有其他解决方案吗?
答案 0 :(得分:0)
<强>更新强>
这有效,但@ rdelmar的答案要紧凑得多。
/////////////////////////////////////////////// //////////////////////////////////////////////////
我在其他地方发现了answer。基本上我必须使用NSRange并通过以下方法检查:
[string rangeOfString:@"hello" options:NSCaseInsensitiveSearch].location != NSNotFound
我还必须在检查前拆分我的字符串。因此,在示例中,单词由句点分隔。我打电话给:
NSArray *myArray = [string componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"."]];
并循环遍历执行rangeOfString
搜索的字符串数组。我设置了一个BOOL,这样一旦找到我的字符串'hello',它就会停止搜索。
答案 1 :(得分:0)
iOS 8有一个新方法,localizedCaseInsensitiveContainsString:另外,还包含containsString:。
NSString *testString = @"test.hello";
BOOL found = [testString localizedCaseInsensitiveContainsString:@"Hello"];
NSLog(@"%@", found ? @"Yes":@"No"); // prints Yes