String#[]
文字列の範囲を指定して部分文字列を取り出す。
str = 'sample_string'
str[0] #=> "s"
str[1, 3] #=> "amp"
str[2..5] #=> "mple"
String#sliceも同様。
str = 'sample_string'
str.slice(0) #=> "s"
str.slice(1, 3) #=> "amp"
str.slice(2..5) #=> "mple"
正規表現による指定もできる。
str = 'sample_string'
str[/a.+l/] #=> "ampl"
str.slice(/a.+l/) #=> "ampl"
String#match
指定した正規表現にマッチした部分を取得する。
正規表現マッチを扱うクラス(MatchData)のインスタンスが返却される。
第二引数によりマッチの開始位置を制御できる。
str = 'sample_string'
str.match(/s(.+)e/) #=> #<MatchData "sample" 1:"ampl">
str.match(/s(.+)e/)[0] #=> "sample"
str.match(/s(.+)e/)[1] #=> "ampl"
str.match(/s./) #=> #<MatchData "sa">
str.match(/s./, 1) #=> #<MatchData "st">
String#sub
第一引数のパターンにマッチした最初の部分を第二引数の文字列で置き換える。
str = 'sample_string'
str.sub('s', 'ex') #=> "example_string"
str.sub(/s./, 'exa') #=> "example_string"
String#gsub
第一引数のパターンにマッチした部分全てを第二引数の文字列で置き換える。
str = 'sample_string'
str.gsub('s', 'ex') #=> "example_extring"
str.gsub(/s./, 'exa') #=> "example_exaring"
String#delete
引数に渡した文字を削除する。
1文字ずつ判定がかかることに注意が必要。
str = 'sample_string'
str.delete('abcdefg') #=> "smpl_strin"
str.delete('a-g') #=> "smpl_strin"
str.delete('_string') #=> "ample"
※ 特定の文字列を削除したい場合はString#subやString#gsubを使って空文字に置換すれば良い。
str = 'sample_string'
str.sub('_string', '') #=> "sample"
str.gsub('_string', '') #=> "sample"