이 코드를 사용하여 문자열 값을 비교할 수 있습니다.대소 문자를 구분하지 않는 NSString 비교
그러나 대소 문자를 비교합니다. 대소 문자를 구분하지 않고 문자열을 비교하는 방법이 있습니까?
이 코드를 사용하여 문자열 값을 비교할 수 있습니다.대소 문자를 구분하지 않는 NSString 비교
그러나 대소 문자를 비교합니다. 대소 문자를 구분하지 않고 문자열을 비교하는 방법이 있습니까?
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 - 매우 많은 편리한 방법으로 클래스 참조 문서를 읽는 데 너무 적은 시간이 걸렸습니다. :-) –
"항상 설명서를 읽지 않는 이유는 무엇입니까?"라고 대답하는 것이 더 좋은 방법이라고 생각합니다. 답변을 주셔서 감사합니다. btw. – ersentekin