Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@raigakun

Ruby 正規表現について 1

More than 1 year has passed since last update.

はじめに

正義表現を学んでいく上で、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

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

さいごに

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

1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
raigakun
日々の学習をOutputしようと思いますので、ご指導等頂けますと幸いです。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?