Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Stringクラス > tr!
tr!(pattern, replace) -> self | nil
[permalink][rdoc]pattern 文字列に含まれる文字を検索し、 それを replace 文字列の対応する文字に破壊的に置き換えます。
pattern の形式は tr(1) と同じです。 つまり、`a-c' は a から c を意味し、 "^0-9" のように文字列の先頭が `^' の場合は 指定文字以外が置換の対象になります。
replace に対しても `-' による範囲指定が可能です。 例えば、String#upcase を tr で書くと、
p "foo".tr('a-z', 'A-Z') => "FOO"
となります。
`-' は文字列の両端にない場合にだけ範囲指定の意味になります。 `^' も文字列の先頭にあるときにだけ否定の効果を発揮します。 また、`-', `^', `\' はバックスラッシュ (`\') によりエスケープできます。
replace の範囲が pattern の範囲よりも小さい場合は、 replace の最後の文字が無限に続くものと扱われます。
tr! は self を変更して返しますが、 置換が起こらなかった場合は nil を返します。
[SEE_ALSO] String#tr, String#tr_s