我需要用等于删除行的字符串空格替换某个字符串,例如,如果给出了
1234567890
我需要用空格替换一些文本,这些空格等于删除的字母数。
123 8790
或
1234 90
答案 0 :(得分:0)
这应该这样做:
#!/usr/perl
my $a="123456";
my $remove = "234";
$a=~ s/(.*)$remove(.*)/${1}.' ' x length($remove).${2}/e;
print $a;
答案 1 :(得分:0)
这实际上取决于如何指定"部分文字" 。
假设您要替换字符串4567
,那么您可以使用模式匹配来查找和替换它,就像这样
use strict;
use warnings;
use Data::Dump;
my $s = '1234567890';
$s =~ s/(4567)/' ' x length $1/e;
或者如果您知道子字符串的偏移量和长度,那么您可以使用substr
,就像这样
substr($s, 3, 4) = ' ' x 4;
给出相同的结果。