アプリ版:「スタンプのみでお礼する」機能のリリースについて

Perlを使って
$number1 = '01_11_10';
$number2 = '03_01';
上記のようないくつかの変数がありこの文字列から桁を調整している0を取り除きたいのです。
具体的には下のようになればいいのです。
$number1 = '1_11_10';
$number2 = '3_1';

なにかスマートな方法、一回の関数で置換する方法はございますか?

ご教授よろしくお願いいたします。

A 回答 (2件)

回答1でも問題ないと思いますが、別解。



$number1 =~ s/(^|\D)0+/$1/g;
$number2 =~ s/(^|\D)0+/$1/g;

回答1の方は「数値」を「その数値に1をかけた値」に置換することで、頭の0を取り除く方法
この方法は、「(数字以外の文字)のあとに続く0」を「マッチした(数字以外の文字)」に置換することで、頭の0を取り除くというものです。
    • good
    • 0
この回答へのお礼

返信が遅れました。
ありがとうございます。うまく置換できました。

お礼日時:2009/01/03 22:58

$number1=~s/(\d+)/$1*1/ge;


$number2=~s/(\d+)/$1*1/ge;
    • good
    • 0
この回答へのお礼

返信が遅れました。
ありがとうございます。うまく置換できました。

お礼日時:2009/01/03 22:58

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