String#tr
メソッドは、文字を置き換えるのに使います。
一見 String#gsub
メソッドと似てますが、
s.tr("a-z", "A-Z")
のように、複数の文字をまとめて置き換えられるところが違います。
正規表現を使って「パターン指定して置きかえ」みたいなことはできないので、単純に文字を置き換えるときに使うとよいかも。とはいえ、あまり使い道ないかも。
p "abcdefg".tr("b", "c")
#=> "accdefg"
p "abcdefg".tr("a-z", "A-Z")
#=> "ABCDEFG"
p "abcdefg".tr("a-z", "ab")
#=> "abbbbbb"
p "abcde.rb".tr(".*", "")
#=> "abcderb"
いちばん下の例のように「.*」と書いてもパターンを指定したことにならず、「.」という文字と「*」という文字をそれぞれ置きかえてます。
ちなみにtrは、Unixのコマンドが由来とのことでした。
コメント