Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Ruby] 正規表現subメソッドの応用

Posted at

##はじめに
今回はsubメソッドを使って実践的な使い方を紹介したいと思います。
よろしくお願いします。

##subメソッドの応用
前回subメソッドを使って、文字列の置換えができることを紹介しました。
応用として、もし、ある文字列を取り除きたいという時にもsubメソッドが使えます。

例えば電話番号のハイフンを取り除きたい時に、置き換えられる文字列をハイフンにし(第一引数)、空の文字列に置き換えるように第二引数を指定すれば、取り除くということが実現できます。

しかしながらsubメソッドは、指定した文字列を、最初の一文字だけしか置換えてくれません。

ターミナル
irb(main):001:0> tel = '090-1234-5678'
=> "090-1234-5678"

irb(main):002:0> tel.sub(/-/,'')
=> "0901234-5678"
# 最初のハイフンしか置換されない

そこで、指定した文字列を一つだけではなく、全てを置換えてくれるgsubメソッドを使用します。使い方は同じです。

##gsubメソッドでハイフンを取り除く

gsubメソッドのgはグローバルマッチから来ています。subメソッドと使い方は同じなので簡単です、

ターミナル
irb(main):001:0> tel.gsub(/-/,'')
=> "09012345678"

きれいにハイフンを全て取り除くことができました。

##最後に
置き換えるという機能を持ったsubメソッドですが、第二引数に空の文字列を指定することで取り除くということを実現できました。
なんだかトンチが効いてるというか、ものは考えようですね。

0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?