2006/12/17

5B5D

perlの正規表現で置換するとき、中身のない括弧"[]"を削除したいとします。
しかし、そのとき、"ー]"という文字列もデータ的に同じバイナリ\x5B\x5Dを含むため、一緒に削除されてしまい、結果文字化けするという現象に出くわしました。

仕方がないのでunicode表現中で変換することにしました。
それにしても、全角と半角の区別を付けてくれないんですね・・・。
tr//の時はあからさまにそういった挙動をしたのですが、s///もそうだとはちょっと意外でした。

0 件のコメント:

コメントを投稿