我在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
怎么做?
答案 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 已经给出了正确的答案。这是一种让您不知道子字符串长度的方法,您可以使用index
和length
函数:
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;