パターンに一致する文字を削除する

Elixir:
パターンに一致する文字を削除する

How to: (方法)

# 文字を削除するサンプルコード
defmodule PatternCleaner do
  def delete_matching_chars(string, pattern) do
    Regex.replace(~r/#{pattern}/, string, "")
  end
end

# 使用例
IO.puts PatternCleaner.delete_matching_chars("こんにちは123", "\\d")

出力:

こんにちは

Deep Dive (掘り下げ)

Elixirでは、正規表現とRegexモジュールを使ってパターンに一致する文字を削除する。Elixirの前身であるErlangの時代から、パターンマッチングはプログラミングに欠かせない機能である。String.replace/3のような関数も同様の操作に使われるが、Regex.replace/3は複雑なパターンに柔軟に対応できる。実装の内部では、ElixirはErlangの正規表現ライブラリを利用しており、効率的な文字列操作が可能だ。

文字列の置換は、プログラミング言語によって異なる書き方がある。たとえば、Pythonではre.sub()を、JavaScriptでは文字列のreplace()メソッドを使う。Elixirは関数型言語であるため、不変性の原則に従って新しい文字列を返す形で操作を行う。

See Also (関連情報)