プロが教えるわが家の防犯対策術!

全角マイナス(―) を半角(-) に置換したいのですが
うまくいきません。

$str ='ABCD―EFG';

$str =~ s/―/-/g; × 実行ストップ
$str =~ s/\―/-/g; × 同じく
$str =~ s/\―/\-/g; × 一文字ごとに - が入る


'ABCD-EFG' print してこう出てくれば
理想なのです。どうかよろしくお願いします。m(__)m

A 回答 (3件)

次のようにすれば、とりあえずこのケースだけは解決できると思います。



$str = 'ABCD―EFG';
$str =~ s/―\/-/g;

この回答への補足

回答ありがとうございます。
今すぐにはちょっと試せないのですが、
家に帰ったらさっそくやってみます。
これで解決できたら・・・いいなあ。

補足日時:2002/05/31 15:23
    • good
    • 0

もしかして、SJISで文字を扱ってらっしゃいませんか?


「―」は2バイト文字ですが、その文字コードの2バイト目がメタタグの文字コードと被っています。
その為に違う文字と誤解釈され、正常に動作しなくなってしまうのです。

対策としては、文字コードをEUCにするのが一番手っ取り早いかと思います。

参考URL:http://www.mirai.ne.jp/~mikeneko/yuibot/yuibot/f …

この回答への補足

ありがとうございます。
おっしゃるとおりだと思います。
早速帰宅したら試してみたいと思います。

補足日時:2002/05/31 15:21
    • good
    • 0

入力した後「F10}のキーをクリックしてみてください。




どうでしょう?
できましたか?

この回答への補足

回答ありがとうございます。
すみません、実はよくわかりませんでした。。。
ファンクションキー [F10]を押した後 } を押したりとか
同時押ししてみたりとかいろいろやったんですが・・・

補足日時:2002/05/31 15:19
    • good
    • 0

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