LoginSignup
2
0

More than 5 years have passed since last update.

正規表現と組み合わせて使うと便利なメソッド

Last updated at Posted at 2018-03-08

・備忘録として。
・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"

・ちなみにgsubglobal substituteの略。

2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0