重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

初めて、質問いたします。

実は文字の置き換えについてなのですが、
他の文字は置き換えできるのですが、
s/ゼ/ぜ/g;だけ置き換えが出来ません。

この指定をするとブラウザ画面が白くなり何も表示されません。
ちなみに、逆のs/ぜ/ゼ/g;であれば置き換えが出来ます。
なぜ置き換えが出来ないのか教えて下さい。

出来れば、この文字が置き換えが出来るようにしたいです。
よろしく、お願いします。

A 回答 (2件)

こんなのはどうですか?



$target = quotemeta('ゼ');
s/$target/ぜ/;

この回答への補足

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

補足日時:2008/08/06 17:30
    • good
    • 0
この回答へのお礼

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

ありがとうございました。

お礼日時:2008/08/06 17:34

使用文字コードはshift-jisとして、


"ゼ"は16進で"\x835b"、2バイト目の"5b"は文字としては"["、
正規表現で"["は文字クラスの開始を表すのでエラーでは?

s/ゼ/ぜ/g
 ↓
s/\Qゼ\E/ぜ/;

[perl \Q \E]で検索してみてください。

この回答への補足

ご回答ありがとうございます。

s/\Qゼ\E/ぜ/;で試してみましたが、エラーにはならないのですが、
変換後の表示が、「ぽbロコぽ」と文字化けを起こして変換できませんでした。

[perl \Q \E]で検索してみたのですが、初心者なので良くわかりませんでした。どうしたらいいのか教えて下さい。

よろしくお願いします。

補足日時:2008/08/04 13:03
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/08/06 17:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!