我面临一个奇怪的问题。 我有一个UITextField和一个NSString,我想使用isEqualtoString方法进行比较。 只要弦乐不包括德国元音,如Ä,Ö,Ü一切正常,但如果他们这样做,它就不再起作用了。 NSLog正确地给出了Umlaute-Strings。
NSLog([currentAnswer lowercaseString]);
NSLog([[self.antwortTextField text]lowercaseString]);
if ([[currentAnswer lowercaseString] isEqualToString:[[self.antwortTextField text]lowercaseString]]) {......}
我是否必须以某种方式格式化字符串?这个问题让我疯了!
答案 0 :(得分:4)
您可以使用高级NSString
比较方法,例如:
- (NSComparisonResult)compare:(NSString *)aString
options:(NSStringCompareOptions)mask
range:(NSRange)range
locale:(id)locale
然后指定高级选项。您可能感兴趣的具体选项:
NSCaseInsensitiveSearch
NSDiacriticInsensitiveSearch
NSWidthInsensitiveSearch