テキストの検索と置換

Ruby:
テキストの検索と置換

How to:

text = "こんにちは, 世界!"
search = "世界"
replace = "Ruby"

# 文字列を置換する(gsubメソッドの使用)
new_text = text.gsub(search, replace)
puts new_text  # => "こんにちは, Ruby!"

# 正規表現を使った置換
regex_text = "今日は2023年3月30日です。"
new_regex_text = regex_text.gsub(/\d{4}年\d{1,2}月\d{1,2}日/, 'XXXX年XX月XX日')
puts new_regex_text  # => "今日はXXXX年XX月XX日です。"

Deep Dive

テキスト置換は古いタイプライター時代からある。コンピュータでは初期のエディタからこの機能が備わっていた。gsub(global substitution)はRubyの強力なメソッドで、文字列や正規表現パターンを使った置換が可能。代替手段としては、subメソッドがあり、これは最初に見つかったインスタンスのみを置換する。正規表現を使えば、より複雑な検索・置換パターンを実現できる。パフォーマンス最適化には、不必要な置換ロジックを避け、正規表現を慎重に使うことが大事。

See Also