- ベストアンサー
置換えについて
$com =~ s/\\/\/g; ↑のようにすると、能、ソ、申、等の2バイト目が「5C」コードになっている文字も変換されてしまいます。これを防ぐよい方法はないでしょうか? Perlはあまりよくわからないため、意味不明な説明でしたら申し訳ございません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
がんばればもっと高速なパターンも考えられるかもしれないけど とりあえずこの辺で。 use strict; use warnings; my $str = '\内申一覧表十枚ソ連から\10000で到着'; print $str, "\n"; $str =~ s{([\x81-\x9f\xe0-\xfc][\x40-\x7e\x80-\xfc]) | ([^\\]) | (\\) }{defined($3) ? '\' : $+}egx; print $str, " 実行結果: \内申一覧表十枚ソ連から\10000で到着 \内申一覧表十枚ソ連から\10000で到着
お礼
書かれている内容を理解する事は今の自分のスキルでは到底不可能なので、自力で解決することはやはり不可能でした。 大変助かりました。有難うございます。