iPhone - Comparing strings with a German umlaut

2020-03-04 07:15发布

I've few German strings (with umlauts like åä etc) in NSArray. For example consider a word like "gënder" is there in array. User enters "gen" in a text field. I can to check the words in string that matches the characters "gen". How can I compare the string by consider umlauts as english strings...? So in above example, when user enters "gen", it has to return "gënder".

Is there any solution for this type of comparision?

1条回答
兄弟一词,经得起流年.
2楼-- · 2020-03-04 07:42

Use the NSDiacriticInsensitiveSearch option of the various NSString compare methods. As described in the documentation:

Search ignores diacritic marks. For example, ‘ö’ is equal to ‘o’.

For example:

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");
}
查看更多
登录 后发表回答