Regex 将字符串EXP501.1-01.0转换为EXP501\U 01的perl脚本

Regex 将字符串EXP501.1-01.0转换为EXP501\U 01的perl脚本,regex,string,perl,Regex,String,Perl,我想转换字符串 EXP501.1-01.0 到 EXP501_01 这意味着-01,-02,-03。。。是递增的,我想在第二个字符串的\uuu旁边加上第一个字符串中的相同数字(将根据第一个字符串进行分析)。@ManjunathS:因此,如果您发现某个答案对您有帮助,则认为接受它是礼貌的。我更改了一些文本格式,突出显示了一些数字并添加了两个相关标记。 my $string = "EXP501.1-01.0"; $short = substr($string, 0, -7);

我想转换字符串

EXP501.1-01.0

EXP501_01


这意味着
-01
-02
-03
。。。是递增的,我想在第二个字符串的
\uuu
旁边加上第一个字符串中的相同数字(将根据第一个字符串进行分析)。

@ManjunathS:因此,如果您发现某个答案对您有帮助,则认为接受它是礼貌的。我更改了一些文本格式,突出显示了一些数字并添加了两个相关标记。
    my $string = "EXP501.1-01.0";
    $short = substr($string, 0, -7);
    $new = substr($string,8,-2);
    my $str = $short . $new;
    $str =~ s/ - /_/g; # Replace all " - " with "_"
    $str =~ s/[^A-Za-z0-9]/_/g; # Replace all non-alphanumericals with "_"

    print $str . "\n";