Ruby 置換文字列

Zeeshan Afridi 2023年6月21日
  1. Ruby 置換のさまざまな方法
  2. Ruby で replace() メソッドを使用して文字列を置換する
  3. Ruby で gsub() メソッドを使用して文字列を置換する
  4. Ruby で sub() メソッドを使用して文字列を置換する
  5. まとめ
Ruby 置換文字列

この記事では、Ruby で文字列を置換するために使用されるさまざまな方法について説明します。

Ruby 置換のさまざまな方法

コード内の文字列を置き換えたい場合は、Ruby が最適なコードを提供します。 Ruby では、String クラスは、文字列を作成、操作、および検索するためのいくつかのメソッドを提供します。

  1. replace() メソッド
  2. gsub() メソッド
  3. sub() メソッド

最初の方法は、その名の通りreplaceメソッドで文字列を簡単に置換できます。

これらの 1つは、グローバル置換を表す gsub メソッドです。 その名前が示すように、gsub を使用すると、特定の部分文字列のすべての出現箇所を別の文字列に置き換えることができます。

もう 1つの方法は sub メソッドで、これも文字列の置換に役立ちます。

Ruby で replace() メソッドを使用して文字列を置換する

replace() メソッドは 2つの引数を取ります: 置き換えるテキストと置き換えるテキストです。

puts "pen".replace("book")

出力:

book

Ruby で gsub() メソッドを使用して文字列を置換する

最も標準的なメソッドは gsub() メソッドです。 Ruby の gsub() メソッドは、出現する固定文字列をすべて別の文字列に置き換えます。

指定された文字列は正規表現にすることができ、置換文字列はブロックまたは文字列のいずれかにすることができます。 ブロックが指定されている場合、指定された文字列が出現するたびにブロックが呼び出され、戻り値が置換文字列として使用されます。

このメソッドは 2つの引数を取ります。最初の引数は置換する単語またはフレーズで、2 番目の引数は代替の単語またはフレーズです。

コード例:

puts "I have a pen.".gsub("pen", "lion")

出力:

I have a lion

たとえば、rubyという単語を複数回含む文字列があり、それをpythonという単語に置き換えたいとします。 次のようにできます。

コード例:

str = "I love ruby, but I also love python"
puts str.gsub("ruby", "python")

出力:

I love python, but I also love python

ご覧のとおり、元の文字列のrubyはすべてpythonに置き換えられています。

gsub() では、正規表現を最初の引数として使用することもできます。これは、より複雑な置換タスクに役立ちます。

たとえば、“lion” または “cat” をすべて “fruits” という単語に置き換えたいとします。

コード例:

str = "I love lion, but I also love cat"
puts str.gsub(/lion|cat/, "fruits")

出力:

I love fruits, but I also love fruits

この場合、正規表現 /lion|cat/ は “lion” と “cat” の両方に一致するため、両方とも “fruits” に置き換えられます。

最後に、gsub は変更されたテキストを含む新しい文字列を返すことに注意してください。 元の文字列は変更されません。

Ruby で sub() メソッドを使用して文字列を置換する

Ruby の sub メソッドは、文字列内の部分文字列を別の文字列に置き換えることができる強力なツールです。

たとえば、“I am a human” という文字列があり、“human” という単語を “object” という単語に置き換えたい場合、このようなサブ メソッドを使用できます。

コード例:

puts "I am a human".sub("human", "object")

出力:

I am a object

sub メソッドで正規表現を使用することもできます。これは、複雑な置換に非常に役立ちます。

最初の単語やフレーズだけを置き換えたい場合は、sub() メソッドを使用できます。 これは gsub() と同じように機能しますが、最初に出現したものだけを置き換えます。

他のいくつかの方法で文字列内の単語を置換できますが、これらが最も一般的です。

まとめ

結論として、Ruby の replace メソッドは、文字列を操作するための強力なツールです。 部分文字列の置換、大文字と小文字の変更、および空白の除去を行うことができます。

クリエイティビティがあれば、HTML をプレーン テキストに変換するなどの複雑なタスクの実行にも使用できます。 Ruby は非常に簡潔で読みやすい言語であるため、効果的で読みやすいコードを簡単に記述できます。

著者: Zeeshan Afridi
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn