LoginSignup
0
0

More than 3 years have passed since last update.

最後に任意の文字があるかのメソッドを作る

Posted at

【概要】

1.結論

2.どのようにコーディングするか

3.開発環境

1.結論

downcaseメソッド、lengthメソッドと、sliceメソッド3種類を使う!

2.どのようにコーディングするか

def str_discrimination(str_a, str_b)
  a_down_str = str_a.downcase #---❶
  b_down_str = str_b.downcase
  a_len_str = a_down_str.length #---❷
  b_len_str = b_down_str.length
  if b_down_str.slice(-(a_len_str)..- 1) == a_down_str || a_down_str.slice(-(b_len_str)..- 1) == b_len_str #---❸
    puts "True"
  else
    puts "False"
  end
end

❶:大文字小文字で区別しないためです。任意の2種類の文字列(str_a,str_b)をdowncaseメソッドで全てを小文字にしました。

変数(文字列).downcase

❷:❶で小文字に変換した変数をlengthメソッドで文字数を返しています。これは❸で使うためにコーディングしています。

❸:ここで最後に任意の文字があるかを判別しています。str_aやstr_bのどちらに探されたい文字列、探したい文字が来てもいいようにOR条件にしています。またsliceメソッドを使用し、❷で使用したlengthメソッドで代入された変数を入れることで最後から任意の文字を探しています。(-(a_len_str)..- 1)は、最後から(-1)から-(a_len_str)の文字数までを示しています。

参考にしたURL:
はじめてのRuby!文字列を大文字⇔小文字に変換する方法まとめ
length、size、count メソッドの違いまとめ【Ruby】

3.開発環境

Ruby 2.6.5
Rails 6.0.3.3
Visual Studio Code

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