3

对于与变音符号无关的全文搜索功能,我使用以下代码将重音字符(如é或)Ö转换为小写非重音形式e,并且o

[[inputString stringByFoldingWithOptions: 
    NSCaseInsensitiveSearch
    + NSDiacriticInsensitiveSearch
    + NSWidthInsensitiveSearch
locale: [NSLocale currentLocale]] lowercaseString];

这行得通。但是,我发现无法转换基本形式由多个字符组成的特殊字符,例如法语œ(如“sœur”)或德语ß(如“Fluß”)。我想将它们分别转换为oess。我没有找到 stringByFoldingWithOptions 的标志,也没有在网上找到任何东西。

编辑

ß实际上是由上面的代码正确处理的。它转换为ss.

4

2 回答 2

6
于 2014-01-15T16:30:32.320 回答
0

看看CFStringTransform()它的kCFStringTransformToLatin选项。我认为这可能会满足您的需求。

于 2012-04-09T23:36:12.523 回答