- ベストアンサー
@がすでに含まれちゃってる文字列の操作
perlで文字列中に@を使いたいときは ¥などでエスケープすればよいと思いますが、 (パラメタで受け取った)すでに@が入っている文字列の @までの文字列を切り取るにはどうすればよいでしょう。 どうぞ教えてください。よろしくお願いいたします。 たとえば、 $str1="aaa@bbb"; $str2=substr($str1,0,3); とやってもエラーになってしまいます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#25358
回答No.2
@に気を使わなければいけないのは、ソースコード内の文字列だけです。 引数などから受け取った@は正しく処理されます。 サンプルがうまくいかないのは、ご自分でおっしゃっているとおりの理由によるものです。 なお、文字列を "" ではなく '' (CTRL+7)で囲むと、変数が展開されなくなるのでエラーが出なくなります。
その他の回答 (1)
- westpoint
- ベストアンサー率35% (173/482)
回答No.1
正規表現で、あらかじめ@を他の文字列に変換して処理し、切り取った後の文字列を@に戻せばどうですか?
質問者
お礼
早速のおへんじありがとうございました。 正規表現もためしてみましたがうまくいきませんでした。
お礼
そうだったのですね、ありがとうございました。 正常動作を確認できました。