2011-10-05 227 views
4

我在NSArray中使用了很少的德语字符串(类似åä等变音符号)。 例如,考虑像“gënder”这样的单词在数组中。 用户在文本字段中输入“gen”。 我可以检查字符串中匹配字符“gen”的单词。 我怎样才能比较字符串考虑变音器英文字符串...? 所以在上面的例子中,当用户输入“gen”时,它必须返回“gënder”。iPhone - 将字符串与德语变音符号进行比较

这种类型的比较有任何解决方案吗?

回答

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"); 
} 
+0

非常感谢您的回答。 – Satyam

+0

+1:很高兴见到... – Jhaliya