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 (関連情報)
- Elixirの正規表現ドキュメント: https://hexdocs.pm/elixir/Regex.html
Stringモジュールのドキュメント: https://hexdocs.pm/elixir/String.html- Elixirフォーラムでの関連トピック: https://elixirforum.com