- ベストアンサー
01_02や02_11などの文字列から0だけを取り除きたい
Perlを使って $number1 = '01_11_10'; $number2 = '03_01'; 上記のようないくつかの変数がありこの文字列から桁を調整している0を取り除きたいのです。 具体的には下のようになればいいのです。 $number1 = '1_11_10'; $number2 = '3_1'; なにかスマートな方法、一回の関数で置換する方法はございますか? ご教授よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
回答1でも問題ないと思いますが、別解。 $number1 =~ s/(^|\D)0+/$1/g; $number2 =~ s/(^|\D)0+/$1/g; 回答1の方は「数値」を「その数値に1をかけた値」に置換することで、頭の0を取り除く方法 この方法は、「(数字以外の文字)のあとに続く0」を「マッチした(数字以外の文字)」に置換することで、頭の0を取り除くというものです。
その他の回答 (1)
- okmotokun
- ベストアンサー率59% (92/155)
回答No.1
$number1=~s/(\d+)/$1*1/ge; $number2=~s/(\d+)/$1*1/ge;
質問者
お礼
返信が遅れました。 ありがとうございます。うまく置換できました。
お礼
返信が遅れました。 ありがとうございます。うまく置換できました。