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

Sat*_*yam 4 iphone objective-c nsstring

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

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

tit*_*coy 10

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

搜索忽略了变音符号.例如,'ö'等于'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");
}
Run Code Online (Sandbox Code Playgroud)