例如,我有看起来像这样的字符串subnet 1 ims-0-x ip address
我想摆脱它,-x
所以它会是subnet 1 ims-0 ip address
我试着做这个正则表达式替换
$string=~ s/\\-x//;
这是行不通的。我认为我的问题是我没有正确地逃避破折号。请帮我修好那一行。
例如,我有看起来像这样的字符串subnet 1 ims-0-x ip address
我想摆脱它,-x
所以它会是subnet 1 ims-0 ip address
我试着做这个正则表达式替换
$string=~ s/\\-x//;
这是行不通的。我认为我的问题是我没有正确地逃避破折号。请帮我修好那一行。
您正在转义反斜杠而不是破折号。使用两个反斜杠 ( \\
),第一个反斜杠转义第二个反斜杠并在字符串中查找反斜杠。应该是s/-x//
。你不需要逃避-
.
use strict;
use warnings;
my $s = "subnet 1 ims-0-x ip address";
$s =~ s/-x//;
print "$s\n"
我试过这个并且它工作正常,/g 是替换所有实例。输出为“子网 1 ims-0 ip 地址”
$string = "vishwassubnet 1 ims-0-x ip address";
$string =~ s/-x//g;
print $string;