【问题标题】:Perl: replace consecutive digits with their countPerl:用他们的计数替换连续的数字
【发布时间】:2010-12-28 04:48:23
【问题描述】:

我在这里的第一个问题。

我有一串数字,例如55111233

如您所见,5 连续两次,1 三次 2 一次,3 两次。

我想把它换成52132132

一般number1<count>number2<count>...numbern<count>

请指导我。

【问题讨论】:

    标签: regex perl string replace digits


    【解决方案1】:
     $digits = "55111233";
     $digits =~ s/((\d)\2*)/$2 . length($1)/ge;
     print $digits;
    

    【讨论】:

      【解决方案2】:

      你可以这样做:

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

      【讨论】:

      • 微妙的优先级错误;试试 $str="9999999999";
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-19
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多