如何在特定字符串模式后在另一个字符串中插入字符串

时间:2015-10-30 06:48:45

标签: perl

我在Perl中有字符串:

X 682.9 X 683.9 X 1.0

我想在0.3 0.3之后插入682.9。所需的输出是:

X 682.9 0.3 0.3 X 683.9 X 1.0

怎么做?

3 个答案:

答案 0 :(得分:0)

这是一种方法:

my $str = 'X 682.9 X 683.9 X 1.0';
substr($str, 8, 0) = '0.3 0.3 ';
print "$str\n";

如果你真的想出于某种原因使用正则表达式,我想你可以这样做:

$str =~ s/682\.9 /682.9 0.3 0.3 /;

输出:

X 682.9 0.3 0.3 X 683.9 X 1.0

答案 1 :(得分:0)

Matt Jacob 已经给出了正确的答案。这是一种让您不知道子字符串长度的方法,您可以使用indexlength函数:

my $str = "X 682.9 X 683.9 X 1.0";
my $i = index($str, "682.9") + length "682.9";
substr($str, $i, 0) = " 0.3 0.3";
print $str, "\n";

输出:

X 682.9 0.3 0.3 X 683.9 X 1.0

答案 2 :(得分:-1)

试试这个 RegEx替换足够用于此

my $string ="X 682.9 X 683.9 X 1.0";
$string =~s/(682\.9)/$1 0.3 0.3/;
print $string;