Objective-C语言比较字符串
示例
使用以下方法比较字符串是否相等isEqualToString:
该==运营商只是为测试对象标识和不比较对象的逻辑值,所以不能使用:
NSString *stringOne = @"example"; NSString *stringTwo = [stringOne mutableCopy]; BOOL objectsAreIdentical = (stringOne == stringTwo); //没有 BOOL stringsAreEqual = [stringOne isEqualToString:stringTwo]; //是
该表达式(stringOne==stringTwo)测试以查看两个字符串的内存地址是否相同,这通常不是我们想要的。
如果可以使用字符串变量,则nil还必须注意这种情况:
BOOL equalValues = stringOne == stringTwo || [stringOne isEqualToString:stringTwo];
YES当字符串的值相等或两者都为时,返回此条件nil。
要按字母顺序排列两个字符串,请使用compare:。
NSComparisonResult result = [firstString compare:secondString];
NSComparisonResult可:
NSOrderedAscending:第一个字符串在第二个字符串之前。
NSOrderedSame:字符串相等。
NSOrderedDescending:第二个字符串在第一个字符串之前。
要比较两个字符串是否相等,请使用isEqualToString:。
BOOL result = [firstString isEqualToString:secondString];
要与空字符串(@"")比较,最好使用length。
BOOL result =string.length== 0;