我有一个for循环,循环遍历数组,并希望将搜索字段的文本与数组中的对象匹配。
我有以下代码
for (int i = 0; i < [data2 count]; i++) {
if ([data2 objectAtIndex:i] == searchField.text) {
NSLog(@"MATCH");
break;
}
}
我在Java中知道它可以通过例如if(searchField.text.equalsIgnoreCase(the object to match against))
如何在目标C中完成,以匹配没有大小写的字符串?
另外,如果我想匹配字符串的一部分,那么可以通过char在Obj C char中完成,还是有一个用于匹配字符串部分的内置函数?
由于
答案 0 :(得分:4)
假设您的字符串是NSStrings,您可以在NSString Class Reference
找到答案如果您想要不区分大小写的搜索,NSString支持caseInsensitiveCompare:和rangeOfString:或rangeOfString:options:。
代码如下所示:
if (NSOrderedSame == [searchField.text caseInsensitiveCompare:[data2 objectAtIndex:i]) {
// Do work here.
}
答案 1 :(得分:3)
[[data2 objectAtIndex:i] isEqualToString: searchField.text]
答案 2 :(得分:2)
您使用isEqual:
(一般比较对象)或isEqualToString:
(特别是NSStrings)。您可以使用substringWithRange:
方法获得子字符串。