dポイントプレゼントキャンペーン実施中!

$a = qq/"aaaaaa","bbbbb"/;
print $a;
→ "aaaaa","bbbbb"

としたときの、変数 $a の中にある
ダブルクォーテーションを削除したいのですが、

$a =~ s/"//;
では何も変化が無くて、

$a =~ tr/"/ /;
では半角スペースに置換できるのですが、

$a =~ tr/"//;
では何も変化がありません。

上手く出来る方法はどの様な方法でしょうか?
教えていただければありがたいです。

よろしくお願いいたします。

A 回答 (2件)

$a =~ s/"//;


とした時には
→aaaaa","bbbbb"
という風に一つ目の「"」だけは無くなっていませんか?
$a =~ s/"//g;
とすれば全ての「"」を削除できます。

また、tr///を使う時には、
$a =~ tr/"//d;
とすれば変換先リストに無い文字を削除できます・

参考URL:http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …
    • good
    • 0
この回答へのお礼

ありがとうございます!
オプション付け忘れていました・・

お礼日時:2005/01/03 23:18

$a =~ s/"//g;



で全て削除されると思います。

> $a =~ s/"//;

でも先頭のが削れてるはずですが。

> $a =~ tr/"//;

の挙動は仕様です。詳しくはドキュメントperlopをご覧ください。
    • good
    • 0
この回答へのお礼

ありがとうございます、まさにそのとおりで、
先頭のは削除されておりました。
オプション付け忘れですね・・申し訳ございません。

お礼日時:2005/01/03 23:20

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

このQ&Aを見た人はこんなQ&Aも見ています