iPhone - Сравнение строк с немецким умлаутом - PullRequest
4 голосов
/ 05 октября 2011

В NSArray у меня есть несколько немецких строк (с умлаутами, например, и т. Д.).Например, рассмотрим слово типа «гендер», которое есть в массиве.Пользователь вводит "gen" в текстовое поле.Я могу проверить слова в строке, которая соответствует символам «gen».Как я могу сравнить строку, считая умлаутс английскими строками ...?Таким образом, в приведенном выше примере, когда пользователь вводит «gen», он должен возвращать «gënder».

Есть ли какое-либо решение для этого типа сравнения?

1 Ответ

10 голосов
/ 05 октября 2011

Используйте параметр 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");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...