如何使用Perl从一行中的数组元素中删除特定字符?
例:-
在此数组中,必须删除特殊字符’。
@names =(“‘汤姆’”,“‘杰里’”);预期产出:-…
您可以通过在正则表达式中在其前面放置斜杠来否定字符的“特殊性”,从而在perl中进行此更改。所以变量的正则表达式可能是 s/\'//g 。一个例子如下:
s/\'//g
#!/usr/bin/perl @names=('\'Tom\'','\'Jerry\''); foreach my $name (@names) { print "Name is $name\n"; $name =~ s/\'//g; print "After regex, Name is $name\n"; }
在带有单引号的数组声明中,perl会将这些解释为简单引用您的输入,并且不会将它们包含在输出中。我需要添加单引号的否定来产生以下结果:
Name is 'Tom' After regex, Name is Tom Name is 'Jerry' After regex, Name is Jerry
代码和你的问题是不同的。 但是看看你想要的输出我将假设您想要加入/打印数组的元素。考虑示例代码:
的 码: 强>
@names = ('Tom','Jerry'); my $str = join '\n', @names; say $str;
的 输出: 强>
Tom Jerry