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’ сохраняется соответственно правилам регистра турецкого языка.
Смотрите также
- Официальная документация модуля
StringElixir: https://hexdocs.pm/elixir/String.html - Маппинг регистров Unicode: https://www.unicode.org/reports/tr21/tr21-5.html
- Краткое руководство по Unicode в Elixir: https://elixir-lang.org/blog/2017/01/05/elixir-and-unicode-part-1/