テキストの検索と置換

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では、完全な正規表現のサポートは意図的に限定されており、より関数型的なアプローチに重きを置いています。

See Also (関連情報)