文字列操作

#ダブルコーテーションで括った文字列
・特殊文字を表すことができる。
・式展開を行うことができる。
  str = '太郎'
  msg = "こんにちは、#{str}"   #こんにちは、太郎

#文字列の長さを得る
str = "こんにちは、Tarou"
p str.size  #17
p str.split(//s).size  #11   文字コードがShift_JIS
p str.split(//u).size  #13   文字コードがUTF-8

#文字列の連結
str = "こんにちは、Jirou"
str2 = str  #str2は「こんにちは,Jirou」の先頭ポインタを参照する

str = str + "こんにちは、Masako"  #連結した新しい文字列が生成され、strはそれを参照する
                                  #str2には影響がない。
str << "こんにちは、Nobuyo"       #上と同じ意味を持つ文。strが指す文字列が
                                  #直接書き換えられる。str2にも影響がある。

#文字列のインデックス
#文字サイズ取得時と同様にsplit()を使用する必要がある。
str = "あいうえお"
puts str.split(//s)[0]  #あ

#文字列の検索
str = "あいうえおabcdefえg"
puts str.split(//s).index("")  #3  左から検索し、最初に見つかったIndex値を返す。
puts str.split(//s).rindex("")  #11 右から検索し、最初に見つかったIndex値を返す。
puts str.split(//s).include?("")  #true 文字列の中に対象が存在するかを調べる  

#文字列の置換
str = "あいうえお"
str.sub!(//, '')  #破壊的で無い subも存在する
puts str #亜いうえお

str= "あいうえおあいうえお"
str.gsub!(//, '')
puts str #あいうえ尾あいうえ尾