初心者・独学者向け|RubyのStringクラスとよく使うメソッド

プログラミング言語を問わず、プログラミングを勉強し始めには必ず文字列を表示する方法を勉強するかと思います。
今回は初心者・独学者向けの入門コンテンツとして Stringクラスでよく利用されるメソッドの解説を行います。
なお本内容はRubyの資格試験Silverでも出題される内容です。
同じ文字列かを調べる == と同じオブジェクトか調べるequal?
同じ文字列かを調べるのは == を利用します。
irb(main):004:0> a = "test" => "test" irb(main):005:0> b = "test" => "test" irb(main):006:0> puts a == b =>true
同じオブジェクトかを調べるのはequal?を利用します。
irb(main):010:0> a = "テスト" => "テスト" irb(main):011:0> b = "テスト" => "テスト" irb(main):012:0>puts a.equal?(b) false
aとbは同じオブジェクトではないので、文字列が同じでもfalseになります。
chompメソッドで文字列の末尾の改行を取り除き、新しい文字列を返す
irb(main):014:0> nginx = "nginx\n" => "nginx\n" irb(main):015:0> p nginx.chomp "nginx"
※改行文字は"\n"、"\r\n"、"\r"の内どれでも削除されます。
chopメソッドで文字列の末尾の1文字を削除し、新しい文字列を返す
irb(main):017:0> test1 = "test1" => "test1" irb(main):018:0> p test1.chop "test"
downcaseメソッドで、文字列中の大文字を小文字に変更し、新しい文字列を返す
irb(main):020:0> test = "TEST TEST TEST " => "TEST TEST TEST " irb(main):021:0> puts test.downcase test test test
upcaseメソッドで、小文字を大文字に変更し、新しい文字列を返す
irb(main):022:0> testcase = "test_case" => "test_case" irb(main):023:0> puts testcase.upcase TEST_CASE
+メソッドで文字列を連結する
irb(main):025:0> add_string = "add" => "add" irb(main):026:0> puts add_string + "_string" add_string
concatでも同じ動作を行える
irb(main):034:0> add_string = "add" => "add" irb(main):035:0> add_string.concat("_string") => "add_string"
insertメソッドで指定位置に文字列を追加する
文字列の一番始めの位置は0になります。
irb(main):045:0> test_string = "add,string" => "add,string" irb(main):046:0> test_string.insert(0, "ruby_ ") => "ruby_ add,string"
charsメソッド(each_charメソッド)で繰り返し処理を行う
charsメソッドで文字列の文字を1文字づつ取り出し、繰り返し処理を実行します。 ※each_charはcharsメソッドの別名です。
strs = "ruby" => "ruby" strs.each_char {|str| print str + "_" } => r_u_b_y_
splitメソッドで、文字列を区切り配列で値を返す処理を行う
以下ではカンマで文字列を区切り配列で返す処理を行っています。
str = "こんにちは,こんばんは,さようなら" => "こんにちは,こんばんは,さようなら" str.split(",") => ["こんにちは,こんばんは,さようなら"]
※正規表現での指定も可能です
deleteメソッドで指定した文字列を削除する
引数で指定した文字列を削除します。
str = "こんにちは, こんばんわ" => "こんにちは, こんばんわ" str.delete("こ") => んにちは, んばんわ p str => "こんにちは, こんばんわ"
しかし、破壊的メソッドではないので再度変数(str)を表示した場合は、"こんにちは, こんばんわ"が表示されます。
破壊的メソッドの解説は以下を御覧ください
Ruby技術者認定試験 (Silver version 2.1)対策 | !が付かない破壊的メソッド
reverseメソッドで文字列を反転させる。
reverseメソッドを利用すれば文字列を反転させる事が可能です。
text = "ruby,python,php,java" p text.reverse #実行結果 #"avaj,php,nohtyp,ybur"
以上になります。
その他Rubyの初心者・独学者向けのコンテンツとして下記も解説しているので、合わせてご参照ください。
初心者・独学者向け|Rubyのハッシュ入門とよく使うメソッド
初心者・独学者向け|Rubyの配列処理の入門とよく使うメソッド
初心者・独学者向け|Rubyのinitializeメソッドとは
Rubyの資格試験|Ruby技術者認定試験 (Silver version 2.1)の解説と対策概要
Rubyの練習問題:文字列編|初心者・独学者向け入門コンテンツ