我有一个像<name>
这样的字符串,我想要删除<>
并仅取出name
并将其放入变量中。
如何使用perl“split”功能?
答案 0 :(得分:6)
请勿使用split。这就像使用螺丝刀的错误端钉在钉子上。我会在匹配的某个步骤中执行此操作,您可以在列表上下文中捕获所需的部分:
my( $var ) = $input =~ /<(.*?)>/;
或者,你可以用以下其中一个删除括号:
$input =~ tr/<>//;
$input =~ s/[<>]//g;
答案 1 :(得分:1)
您可以在列表上下文中使用正则表达式和匹配:
my $s = "<name>";
my ($name) = $s =~ /<(.*)>/;
答案 2 :(得分:-1)
在回答您关于如何使用拆分执行此操作的问题时,您可以执行以下操作:
$input ="<string>";
print split(/[<>]/,$input);
然而,更好的方法是
$input = "<string>";
print $input =~ /<(.*)>/;
答案 3 :(得分:-2)
我不太确定你为什么要使用拆分......但是这里就是:
> perl -le'$str="<string>";print split("<",(split(">",$str))[0]);'
string