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 / Дивіться Також:
- Elm Regex package documentation: https://package.elm-lang.org/packages/elm/regex/latest
- Elm String module documentation: https://package.elm-lang.org/packages/elm/core/latest/String
- Regular expressions in-depth: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions