tr/置換え対象/置換え後文字/
trでは文字単位で置換えを行い、下のイメージのように並び順により対応する文字
へと置換えがされます。
例えば下のイメージでは a が A に、 b が B に、 c が C に置換えされます。
パターンではなく、文字単位で置換えがされますので、 bac などの文字列があった
とすると下の例では、 BAC とそれぞれの文字単位で置換えが行われます。
s/// などでは数字を表す \d などが使えましたが、 tr/// ではそれらのメタ文字など
が使用できません。
その代わりに s/// よりも変換する速度が非常に速い所が利点で、単純な置換えなど
例えば URLエンコードされた文字列をデコードする場合に + 記号を 半角スペースに
置き換える場合などは tr/// を利用します。
下の例では a を A に、 b を B に、 c を C へと置換えが行われます。
範囲を指定する場合は 0-9 などとし、この場合 0123456789 が指定されます。
下の例では 0123456789 をそれぞれ ABCDEFGHIJ へと置換えします。
オプションで tr///s というように s を指定すると、連続した文字を1文字に置き換える事ができます。
下の例では aaaa・・・ の部分が連続していますので、実行すると 連続文字aを一文字にする
と、連続
した部分が1文字に置き換えられます。
連続した文字の置換えは、複数連続する箇所が存在する場合、全ての連続箇所が1文字に置換え
されますので、下の場合連続箇所は 1a5 に置換えされます。
|