3

我面临一个奇怪的问题。我有一个 UITextField 和一个 NSString ,我想使用 isEqualtoString 方法进行比较。只要字符串不包括德语变音符号如 Ä,Ö,Ü 一切都可以正常工作,但如果他们这样做了,它就不再工作了。NSLog 正确地给出了变音字符串。

 NSLog([currentAnswer lowercaseString]);
 NSLog([[self.antwortTextField text]lowercaseString]);

if ([[currentAnswer lowercaseString] isEqualToString:[[self.antwortTextField text]lowercaseString]]) {......}

我必须以某种方式格式化字符串吗?这个问题快把我逼疯了!

4

1 回答 1

4

您可以使用高级NSString比较方法,例如:

- (NSComparisonResult)compare:(NSString *)aString
                      options:(NSStringCompareOptions)mask
                        range:(NSRange)range
                       locale:(id)locale

然后指定高级选项。您可能感兴趣的具体选项:

  • NSCaseInsensitiveSearch
  • NSDiacriticInsensitiveSearch
  • NSWidthInsensitiveSearch
于 2012-04-27T16:21:00.750 回答