使用此代码我可以比较字符串值。不区分大小写的NSString比较
[elementName isEqualToString: @"Response"]
但这比较区分大小写。有没有一种方法来比较字符串,而不区分大小写?
使用此代码我可以比较字符串值。不区分大小写的NSString比较
[elementName isEqualToString: @"Response"]
但这比较区分大小写。有没有一种方法来比较字符串,而不区分大小写?
在NSString
上有caseInsensitiveCompare:
方法,你为什么不读the documentation?该方法返回NSComparisonResult
:
enum {
NSOrderedAscending = -1,
NSOrderedSame,
NSOrderedDescending
};
typedef NSInteger NSComparisonResult;
...啊,不好意思,刚才我意识到,你所要求的区分大小写平等。 (为什么我不读这个问题?:-)默认isEqual:
或isEqualToString:
平等应该已经是区分大小写,什么给?
实际上isEqualToString:适用于区分大小写的能力。 为:
[elementName isEqualToString: @"Response"];
,如果你要问的不区分大小写的比较,那么这里是代码:
您可以更改媲美字符串大写或小写,并且可以作为比较:
NSString *tempString = @"Response";
NSString *string1 = [elementName lowercaseString];
NSString *string2 = [tempString lowercaseString];
//The same code changes both strings in lowerCase.
//Now You Can compare
if([string1 isEqualToString:string2])
{
//Type your code here
}
下面是您需要比较字符串的代码,而不必关心它是小写字母还是大写字母:
if ([elementName caseInsensitiveCompare:@"Response"]==NSOrderedSame)
{
// Your "elementName" variable IS "Response", "response", "reSPonse", etc
//
}
NSString *string1 = @"stringABC";
NSString *string2 = @"STRINGDEF";
NSComparisonResult result = [string1 caseInsensitiveCompare:string2];
if (result == NSOrderedAscending) {
NSLog(@"string1 comes before string2");
} else if (result == NSOrderedSame) {
NSLog(@"We're comparing the same string");
} else if (result == NSOrderedDescending) {
NSLog(@"string2 comes before string1");
}
+1 - 这么多方便的方法,花费很少时间阅读类参考文档。 :-) – 2010-12-20 10:53:51
我相信总有更好的方式说“你为什么不阅读文档?”,谢谢你的答案btw。 – ersentekin 2018-03-05 16:10:56