Видалення символів за візерунком

Elm:
Видалення символів за візерунком

How to: / Як це зробити:

module Main exposing (..)
import Regex exposing (Regex, find, regex, replace)
import String

cleanText : String -> String
cleanText text =
    let
        pattern : Regex
        pattern =
            regex "[^a-zA-Zа-яА-Я0-9 ]"
    in
    replace pattern (\_ -> "") text

main =
    String.split "\n" "123abcАБВ!@#\nHello+*/-World\nДоброго%%^&&дня"
    |> List.map cleanText
    |> String.join "\n"
    |> Html.text
    
-- Output:
-- 123abcАБВ
-- HelloWorld
-- Доброгодня

Просто скопіюйте цей код в ваш Elm проєкт, та він видалить усе, що не є літерами, цифрами чи пробілами.

Deep Dive / Глибоке Занурення:

У видаленні символів за паттерном часто використовують регулярні вирази (regex). Elm використовує бібліотеку elm/regex для роботи з ними. Рідше, можна використовувати String функції без regex, але це менш гнучко. Регулярні вирази мають історію з 1950-х, і сьогодні є стандартом для операцій з текстом.

See Also / Дивіться Також: