perl替换为%d

时间:2017-11-15 22:16:59

标签: regex perl

我是Perl的新手。我正在尝试用' -S%d'替换字符串。串。 但在输出中我看到-S0而不是-S%d。怎么处理? 代码类似于:

$test =~ s/-S1234/-S%d/;

进一步澄清 -

$test = 'This_is_StackOverflow-S11152017'

我希望得到以下输出 -

'This_is_StackOverflow-S%d'

1 个答案:

答案 0 :(得分:0)

替换按预期工作,问题很可能与你如何打印有关。你应该这样做:

print "$test\n";

或:

printf "%s\n", $test;

如果您这样做,将会得到您输出的结果:

printf $test;

printf的第一个参数是格式字符串,%d用于格式化整数参数。如果没有相应的参数,则默认为0