2 flat logo on transparent 256
2018-04-27

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

Notewere1213

プログラミング言語を問わず、プログラミングを勉強し始めには必ず文字列を表示する方法を勉強するかと思います。 今回は初心者・独学者向けの入門コンテンツとして 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の資格試験|Ruby技術者認定試験 (Silver version 2.1)の解説と対策概要

Rubyの繰り返し処理の解説|初心者・独学者向け

Rubyの練習問題:文字列編|初心者・独学者向け入門コンテンツ

前の記事
次の記事