2010-12-28 21 views
2

ここに私の最初の質問があります。Perl:連続した数字をカウントで置き換えてください。

あなたは5を見ることができるように私は55111233

のような数字の文字列を持っているが1三回2回と3回、二回連続しています。

は、私はそれが私を導いてください一般number1<count>number2<count>...numbern<count>

52132132

に交換することにしたいです。

答えて

6
$digits = "55111233"; 
$digits =~ s/((\d)\2*)/$2 . length($1)/ge; 
print $digits; 
2

あなたは行うことができます。

$str =~s/(\d)(\1*)/$1.(length($2)+1)/eg; 
+0

微妙な順位のバグを。 $ str = "9999999999"で試してください。 – ysth

+0

@ysth:nice catch :) – codaddict

関連する問題