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

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

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

В Elixir это делается легко. Используйте функцию String.downcase/1:

original = "LoReM IPSUM"
lowercased = String.downcase(original)

IO.puts original
IO.puts lowercased

Вывод:

LoReM IPSUM
lorem ipsum

Подробнее

Обработка строк в Elixir учитывает Unicode, что очень важно для правильного преобразования в нижний регистр в разных алфавитах и письменностях. Исторически обработка строк в языках программирования не всегда учитывала эту сложность.

До современного подхода Elixir некоторые старые языки предлагали упрощенные методы, которые могли работать нормально для английского, но сталкивались с проблемами с такими языками, как турецкий, где, например, прописная ‘i’ не становится ‘I’, а становится ‘İ’.

Внутренне Elixir использует маппинг регистров Unicode, чтобы справиться с этим правильно. И есть альтернативы; например, String.downcase/2 позволяет вам указать локаль, что пригодится для учета специфики языка.

turkish = "GÖLCÜK"
String.downcase(turkish, :tr)

Вывод:

gölcük

В приведённом выше примере обратите внимание на то, как символ ‘I’ сохраняется соответственно правилам регистра турецкого языка.

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