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のコマンドが由来とのことでした。

コメント

コメントする

目次