【问题标题】:iPhone - Comparing strings with a German umlautiPhone - 将字符串与德语变音符号进行比较
【发布时间】:2011-12-01 04:46:32
【问题描述】:
我在 NSArray 中几乎没有德语字符串(带有 åä 等变音符号)。
例如,考虑一个像“gënder”这样的词在数组中。
用户在文本字段中输入“gen”。
我可以检查字符串中与字符“gen”匹配的单词。
如何通过将变音符号视为英文字符串来比较字符串...?
所以在上面的例子中,当用户输入“gen”时,它必须返回“gënder”。
这种比较有什么解决办法吗?
【问题讨论】:
标签:
iphone
objective-c
nsstring
【解决方案1】:
使用各种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");
}