iPhone - 使用德语变音符号比较字符串

时间:2011-10-05 05:11:26

标签: iphone objective-c nsstring

我在NSArray中很少有德语字符串(像åä等变音符号)。 例如,在数组中考虑像“gënder”这样的单词。 用户在文本字段中输入“gen”。 我可以检查字符串中与“gen”字符匹配的单词。 如何通过将变音符号视为英语字符串来比较字符串...? 所以在上面的例子中,当用户输入“gen”时,它必须返回“gënder”。

这种比较有什么解决方案吗?

1 个答案:

答案 0 :(得分:10)

使用各种NSString比较方法的NSDiacriticInsensitiveSearch选项。如文档中所述:

  

搜索忽略了变音符号。   例如,'ö'等于'o'。

例如:

NSString *text = @"gënder";
NSString *searchString = @"ender";

NSRange rng = [text rangeOfString:searchString 
                          options:NSDiacriticInsensitiveSearch];

if (rng.location != NSNotFound)
{
    NSLog(@"Match at %@", NSStringFromRange(rng));
}
else
{
    NSLog(@"No match");
}
相关问题