Elm:
テキストの検索と置換
How to: (やり方)
module Main exposing (main)
import Browser
import Html exposing (Html, text)
import String
replaceText : String -> String -> String -> String
replaceText needle replacement haystack =
String.Extra.replaceAll needle replacement haystack
main : Html msg
main =
text (replaceText "world" "Elm" "Hello, world!")
コンソール出力:
Hello, Elm!
Deep Dive (掘り下げ)
テキストの検索と置換はプログラミングの基本的な操作で、ElmではString
モジュールを用いて行います。歴史的に、この操作はUnixユーティリティs/old/new/
構文で知られるsedコマンドなどを通じても行われてきました。Elmでは、String
の関数replace
は基本的ですが、複数置換のためにはString.Extra.replaceAll
を利用すると便利です。ただし、String.Extra
はデフォルトではElmに含まれていないため、追加のライブラリが必要となります。
簡単な例を示しましたが、実際には複雑なパターンマッチングや正規表現が必要な場合もあります。Elmでは、完全な正規表現のサポートは意図的に限定されており、より関数型的なアプローチに重きを置いています。