• ベストアンサー

文字置き換えのエラーについて

初めて、質問いたします。 実は文字の置き換えについてなのですが、 他の文字は置き換えできるのですが、 s/ゼ/ぜ/g;だけ置き換えが出来ません。 この指定をするとブラウザ画面が白くなり何も表示されません。 ちなみに、逆のs/ぜ/ゼ/g;であれば置き換えが出来ます。 なぜ置き換えが出来ないのか教えて下さい。 出来れば、この文字が置き換えが出来るようにしたいです。 よろしく、お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • atom_seed
  • ベストアンサー率48% (25/52)
回答No.2

こんなのはどうですか? $target = quotemeta('ゼ'); s/$target/ぜ/;

powermumu
質問者

お礼

また、わからないことがあったら、質問しますので その時はよろしくお願いします。 ありがとうございました。

powermumu
質問者

補足

ご回答ありがとうございました。 quotemetaを検索して、どのような関数かを調べて納得でした。 問題解決できました。本当にありがとうございました。

その他の回答 (1)

  • okiyoshi
  • ベストアンサー率34% (11/32)
回答No.1

使用文字コードはshift-jisとして、 "ゼ"は16進で"\x835b"、2バイト目の"5b"は文字としては"["、 正規表現で"["は文字クラスの開始を表すのでエラーでは? s/ゼ/ぜ/g  ↓ s/\Qゼ\E/ぜ/; [perl \Q \E]で検索してみてください。

powermumu
質問者

お礼

いろいろ、ご面倒をおかけしました。問題は解決できました。 ありがとうございました。

powermumu
質問者

補足

ご回答ありがとうございます。 s/\Qゼ\E/ぜ/;で試してみましたが、エラーにはならないのですが、 変換後の表示が、「ぽbロコぽ」と文字化けを起こして変換できませんでした。 [perl \Q \E]で検索してみたのですが、初心者なので良くわかりませんでした。どうしたらいいのか教えて下さい。 よろしくお願いします。

関連するQ&A