Swift에서 대소 문자가없는 문자열을 비교하는 다음과 같은 방법간에 차이가 있습니까? 대대소 문자가 불 일치하는 문자열 비교
let equal = str1.lowercased() == str2.lowercased() // or uppercased()
하나는 잘못된 결과를 반환하는 모든 언어로 어떤 경우는
let equal = str1.caseInsensitiveCompare(str2) == .orderedSame
있습니까? 성능보다 유니 코드 정확성에 더 관심이 있습니다.
caseInsensitiveCompare''에 대한 호출이 궁극적으로 아래로 떨어지면 [CFString의 CFStringCompareWithOptionsAndLocale] (https://github.com/apple/swift-corelibs-foundation/blob/e48175bca494b8a6dc22079af42dbd66c0805eda/CoreFoundation/String.subproj/CFString.c#L2553) 'kCFCompareCaseInsensitive'를 사용하십시오. 통찰력을 얻기 위해 주변의 논리를 볼 수도 있습니다. – Undo