使用此代码,我可以比较字符串值。
[elementName isEqualToString: @"Response"]
但这比较敏感。有没有办法比较没有区分大小写的字符串?
答案 0 :(得分:31)
caseInsensitiveCompare:
上有一个NSString
方法,您为什么不阅读the documentation?该方法返回NSComparisonResult
:
enum {
NSOrderedAscending = -1,
NSOrderedSame,
NSOrderedDescending
};
typedef NSInteger NSComparisonResult;
......啊,对不起,刚才我意识到你要求区分大小写的平等。 (为什么我不读这个问题?:-)默认的isEqual:
或isEqualToString:
等式应该已经区分大小写了,是什么给出了?
答案 1 :(得分:14)
以下是比较字符串所需的代码,而不关心它是小写还是大写:
if ([elementName caseInsensitiveCompare:@"Response"]==NSOrderedSame)
{
// Your "elementName" variable IS "Response", "response", "reSPonse", etc
//
}
答案 2 :(得分:7)
实际上isEqualToString:适用于区分大小写的能力。 为:
[elementName isEqualToString: @"Response"];
如果你想要求不区分大小写,那么这里是代码:
您可以将可比较的字符串更改为lowerCase或大写,并可以比较为:
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
}
答案 3 :(得分:1)
{{1}}