不区分大小写的NSString比较

use*_*878 13 string cocoa case-sensitive nsstring

使用此代码,我可以比较字符串值.

[elementName isEqualToString: @"Response"]
Run Code Online (Sandbox Code Playgroud)

但这比较敏感.有没有办法比较没有区分大小写的字符串?

zou*_*oul 31

有一种caseInsensitiveCompare:方法NSString,为什么不阅读文档?该方法返回NSComparisonResult:

enum {
   NSOrderedAscending = -1,
   NSOrderedSame,
   NSOrderedDescending
};
typedef NSInteger NSComparisonResult;
Run Code Online (Sandbox Code Playgroud)

......啊,对不起,刚才我意识到你要求区分大小写的平等.(为什么我不读这个问题?:-)默认isEqual:isEqualToString:相等应该已经区分大小写了,是什么给出的?


Mik*_*ill 14

下面是比较字符串所需的代码,而不关心它是小写还是大写:

if ([elementName caseInsensitiveCompare:@"Response"]==NSOrderedSame)
{
    //  Your "elementName" variable IS "Response", "response", "reSPonse", etc
    //  
}
Run Code Online (Sandbox Code Playgroud)


iPh*_*eDv 7

实际上isEqualToString:与区分大小写的能力一起使用.如:

[elementName isEqualToString: @"Response"];
Run Code Online (Sandbox Code Playgroud)

如果你想要求不区分大小写,那么这里是代码:

您可以将可比较的字符串更改为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

}
Run Code Online (Sandbox Code Playgroud)