目标C中的匹配字符串

时间:2010-09-27 06:35:34

标签: objective-c nsstring

我有一个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中完成,还是有一个用于匹配字符串部分的内置函数?

由于

3 个答案:

答案 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:方法获得子字符串。