Удаление символов, соответствующих шаблону

Elixir:
Удаление символов, соответствующих шаблону

Как:

В Elixir используйте функцию String.replace/4 для удаления символов, соответствующих шаблону. Посмотрите эти примеры:

# Удалить цифры из строки
original_string = "Elixir2023Rocks!"
clean_string = String.replace(original_string, ~r/\d/, "")
IO.puts(clean_string) # Вывод: "ElixirRocks!"

# Удалить пунктуацию
punctuationless_string = String.replace(original_string, ~r/[[:punct:]]/, "")
IO.puts(punctuationless_string) # Вывод: "Elixir2023Rocks"

# Устранить пробелы
no_whitespace_string = String.replace(original_string, ~r/\s/, "")
IO.puts(no_whitespace_string) # Вывод: "Elixir2023Rocks!"

Глубже в тему

Использование сопоставления с описанием для удаления символов в строках не является уникальным для Elixir; это общая возможность почти во всех языках программирования, эволюционировавшая из способностей регулярных выражений (regex) в ранних инструментах Unix, таких как sed и grep. Альтернативами String.replace/4 могут быть использование сопоставления с образцом и рекурсии для ручного обхода и изменения строки, но этот метод обычно более многословен и сложен, что делает встроенные функции regex предпочтительными. Под капотом String.replace/4 использует наследие Elixir от Erlang, используя мощные возможности сопоставления с образцом и манипулирования строками виртуальной машины BEAM.

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