・備忘録として。
・RubyのStringクラスのインスタンスメソッド。
・いずれのメソッドも引数に文字列、または正規表現オブジェクトを受け取ることができる。
scan(pattern)
・引数に正規表現を渡して、マッチした部分を「配列」にして返す
Example
text = "my name is toshiki"
p text.scan(/t.+/)
=> ["toshiki"]
・正規表現にマッチした部分を、Rubyのコンソールなどでサクッと確認したい時に利用するといいと思う。
・ちゃんと確認したい時は、http://rubular.com などのサイトを利用するのが良い。
slice(pattern)
・引数に正規表現を渡して、マッチした部分を「文字列」にして返す
Example
text = "my name is toshiki"
p text.slice(/t.+/)
=> "toshiki"
・scanとの違いは、返り値が「文字列」なのか、「配列」なのかの違い。
gsub(pattern,replacemant)
・第一引数に正規表現を渡す。
・正規表現にマッチした文字列を、第二引数の文字列に置換する。
・返り値は「文字列」
Example
text = "my name is toshiki"
p text.gsub(/t.+/,"kikuchi")
=> "my name is kikuchi"
・キャプチャ機能()
を使用すると、\1\2
の連番で参照可能。
・第二引数に\1\2
などを渡すことで、第一引数でキャプチャした文字列を参照することができる。
Example
text = "my name is toshiki"
p text.gsub(/(t.+)/,'\1 kikuchi')
=> "my name is toshiki kikuchi"
・ちなみにgsub
はglobal substitute
の略。