Как удалить диакритические символы из строки в Swift?

Как удалить диакритические знаки (или акценты) из String (например, изменить «één» to «een») в Swift? Должен ли я вернуться к NSString или это можно сделать в Swift?

Вы можете напрямую работать с Swift String (если импортируется «Foundation»):

 let foo = "één" let bar = foo.stringByFoldingWithOptions(.DiacriticInsensitiveSearch, locale: NSLocale.currentLocale()) print(bar) // een 

Swift 3:

 let foo = "één" let bar = foo.folding(options: .diacriticInsensitive, locale: .current) print(bar) // een 

Обновите ответ @ MartinR … расширение Swift 3, чтобы предоставить строку для сортировки / поиска, которая может быть полезна для кого-то …

 extension String { var forSorting: String { let simple = folding(options: [.diacriticInsensitive, .widthInsensitive, .caseInsensitive], locale: nil) let nonAlphaNumeric = CharacterSet.alphanumerics.inverted return simple.components(separatedBy: nonAlphaNumeric).joined(separator: "") } } 

например

 print("Mÿ nâMe ís jÄço´B".forSorting) // "mynameisjacob" 
  • Значение типа «StorageMetadata» не имеет имени пользователя downloadURL '
  • metadata.downloadURL () больше не распознается?
  • Noop для отчетов об исчерпывающих коммутаторах Swift
  • Как создать диапазон в Swift?
  • Параметр Inout в асинхронном обратном вызове не работает должным образом
  • Как вы используете String.substringWithRange? (или, как работают диапазоны в Swift?)
  • Печать символа Unicode из переменной (swift)
  • Запретить увольнение UIAlertController
  • Как получить уникальный идентификатор устройства в Swift?
  • Swift 2.0: «enumerate» недоступен: вызовите метод «enumerate ()» в последовательности
  • Интроспекция и дженерики Swift
  • Interesting Posts

    Как отправить запрос HTTP POST на сервер из Excel с помощью VBA?

    Действительно ли ЭЛТ-размагничивание действительно опасно для ближайших ноутбуков?

    Как преобразовать строку JSON в Map с помощью Jackson JSON

    Выравнивание текста CSS выравнивает большие пространства

    Почему LINQ to Entities не распознает метод «System.String ToString ()?

    Вложенный запрос Mongoose в Model по полю его ссылочной модели

    Что означает A a ()?

    Как проверить, работает ли служба на Android?

    Как включить блокировку num по умолчанию на экране входа?

    Как уведомить о намерениях уведомления, а не делать новые намерения?

    Разрешение предоставляется только системному приложению

    Почему возникла связанная с сетью или конкретная ошибка экземпляра при установлении соединения с SQL Server?

    qmake pre-build step перед ЛЮБОЙ компиляцией

    Невозможно использовать Intellij с созданной исходной папкой

    Возврат файла для просмотра / загрузки в ASP.NET MVC

    Давайте будем гением компьютера.