LoginSignup
0
1

More than 3 years have passed since last update.

Ruby 正規表現について 1

Posted at

はじめに

正義表現を学んでいく上で、1つずつ整理していきます。
私はVScodeで記載し、ターミナルで実行するやり方で実践しております。
もうすでにご存知の方、省略の仕方等ご存知でしたら、ご教授願います。

気をつけること

正規表現のコードを書く際に気を付けることは【1つずつ順番に解決していく意識】と思います。
(今となっては、当たり前かと思いますが・・・)
私がしてしまったミスは、複数の正規表現を1度に解決してしまおうとし、パニックになりました。
ですので、これから正規表現を学習する方は落ち着いて1つずつ解決していきましょう。

正規表現の種類

今回は以下3つのメソッドを学びました。

① subメソッド
② splitメソッド
③ matchメソッド

subメソッド

置換したい文字列1つを別の文字列に置換したい時に使うメソッドです。

qiita.rb
#使用するメソッド
.sub(/置換する前の文字列/,"置換したい文字列")

#実践してみます。

#現在のコード
action = "らいが君が寝る。"
puts action

#らいが君の部分だけ違う文字列に置き換える。
action = "らいが君が寝る。"
  action = action.sub(/らいが君/,"キータ君")
puts action

【結果】
らいが君が寝る。 → キータ君が寝る。 に置き換えることができたと思います。

★【補足】
gsubメソッドというものがあります。
文字列内で置換したい文字が複数含まれている場合、その全てを置換するという意味です。

splitメソッド

文字列を分割したい時に使うメソッドです。

qiita.rb
#使用するメソッド
.split(/区切る要素/)

#実践してみます。

#現在のコード
hobby = "ゲーム,散歩,筋トレ"
puts hobby

#上記コードを分割する。(/,/)で区切ります。
hobby = "ゲーム,散歩,筋トレ"
  hobby = hobby.split(/,/)  
puts hobby

【結果】
ゲーム,散歩,筋トレ

ゲーム
散歩
筋トレ
に分割できたと思います。

★【捕捉】
配列[ ]を使うことで、指定する要素を取り出すことができます。

qiita.rb
#(/[,]/)で区切ります。
hobby = "ゲーム,散歩,筋トレ"
  hobby = hobby.split(/[,]/)[2]
puts hobby

【結果】
筋トレのみターミナル上に記載されたかと思います。

matchメソッド

文字列の中に指定した文字列が含まれているのかを確認する時に使うメソッドです。

qiita.rb

#使用するメソッド
.match(/含まれているか確認したい要素/)

#if文と併せて、実践してみます。
str = "Hello, raiga"
if str.match(/raiga/)
  puts "その言葉は含まれています。"
else 
  puts "その言葉は含まれていません。"
end

【結果】
その言葉は含まれています。とターミナル上に記載されていれば成功です。

さいごに

私も日々勉強中です。新しく出会った正規表現等があれば随時更新します。
皆様の復習にご活用頂けますと幸いです。

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