Поиск и замена текста

Elixir:
Поиск и замена текста

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

В Elixir вы можете использовать модуль String для быстрых операций поиска и замены. Вот как это делается:

original_text = "I heart Elixir!"

# Простая замена
replaced_text = String.replace(original_text, "heart", "❤️")
IO.puts replaced_text  # Вывод: I ❤️ Elixir!

# Глобальная замена с шаблоном
replaced_text_global = String.replace(original_text, ~r/eart|Eli/, "❤️", global: true)
IO.puts replaced_text_global  # Вывод: I ❤️ ❤️xir!

# Нечувствительная к регистру замена
insensitive_replace = String.replace(original_text, "ELIXIR", "❤️", global: true, case_insensitive: true)
IO.puts insensitive_replace  # Вывод: I heart ❤️!

Глубокое погружение

Поиск и замена текста существуют с зарождения вычислительной техники; подумайте о функции ‘найти и заменить’ в документе Word, но применительно к коду. В Elixir это всё о сопоставлении шаблонов и эффективной работе со строками.

Функция String.replace/4 использует возможности сопоставления шаблонов Elixir, позволяя вам сопоставлять не только статические строки, но также и регулярные выражения, предоставляя значительную гибкость. За кулисами Elixir использует мощную обработку строк Erlang, которая является надежной и эффективной для задач обработки текста.

Альтернативы встроенному модулю String включают написание собственных функций для более сложных случаев или использование сторонних библиотек, которые по-другому оборачивают обработку строк. Однако для большинства случаев использования встроенные функции справятся с задачей без добавления дополнительных зависимостей.

Как язык с неизменяемостью, помните, что каждая функция замены возвращает новую строку - оригинал остается неизменным. Это отличается от некоторых других языков, где вы можете изменить строку на месте.

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