0

例如,我有看起来像这样的字符串subnet 1 ims-0-x ip address

我想摆脱它,-x所以它会是subnet 1 ims-0 ip address

我试着做这个正则表达式替换

$string=~ s/\\-x//;

这是行不通的。我认为我的问题是我没有正确地逃避破折号。请帮我修好那一行。

4

2 回答 2

1

您正在转义反斜杠而不是破折号。使用两个反斜杠 ( \\),第一个反斜杠转义第二个反斜杠并在字符串中查找反斜杠。应该是s/-x//。你不需要逃避-.

use strict;
use warnings;

my $s = "subnet 1 ims-0-x ip address";
$s =~ s/-x//;
print "$s\n"
于 2015-06-09T21:33:11.220 回答
0

我试过这个并且它工作正常,/g 是替换所有实例。输出为“子网 1 ims-0 ip 地址”

$string = "vishwassubnet 1 ims-0-x ip address";
$string =~ s/-x//g;
print $string;

https://ideone.com/9zh91T

于 2015-06-09T21:44:18.657 回答