Преобразование строки в нижний регистр

Swift:
Преобразование строки в нижний регистр

Как это сделать:

Swift упрощает эту задачу с помощью свойства, называемого lowercased. Вот как его использовать:

let originalString = "Hello, World!"
let lowercasedString = originalString.lowercased()
print(lowercasedString) // "hello, world!"

Пример вывода:

hello, world!

Подробнее:

Исторически, обеспечение единообразия регистра строк было критически важно в программировании, в основном потому, что первые компьютеры были очень чувствительны к регистру. В Swift, lowercased() - это метод, доступный для экземпляров типа String. Вызывая его, вы преобразуете все символы в строке, имеющие варианты в нижнем регистре, в их строчные формы.

Альтернативой lowercased() может быть ручное перебор строки и замена каждого символа его эквивалентом в нижнем регистре с использованием функции отображения. Но, честно говоря, это изобретение велосипеда.

Преобразование в нижний регистр имеет некоторые нюансы. Например, метод lowercased() использует текущую локаль для управления определенными правилами регистра языка, что не всегда является желаемым поведением. Если вам нужно выполнить преобразование, не зависящее от локали, вы можете использовать lowercased(with: Locale?) и передать nil как Locale:

let turkishString = "İstanbul"
let lowercasedTurkishString = turkishString.lowercased(with: nil)
print(lowercasedTurkishString) // "i̇stanbul", корректно в Unicode, но в Турции может быть ожидаемо без точки 'I'.

Реализация lowercased() под капотом использует стандарт Unicode, который включает сложные правила отображения для символов в различных скриптах, не все из которых являются простой заменой ‘a’ на ‘A’.

Смотрите также:

Чтобы узнать больше о строках и преобразованиях символов в Swift, погрузитесь в следующие ресурсы: