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