拆分字符串以删除周围的<和>人物

时间:2010-08-21 11:22:19

标签: perl split

我有一个像<name>这样的字符串,我想要删除<>并仅取出name并将其放入变量中。

如何使用perl“split”功能?

4 个答案:

答案 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);

Click for live example

然而,更好的方法是

$input = "<string>";
print $input =~ /<(.*)>/;

Click for live example

答案 3 :(得分:-2)

我不太确定你为什么要使用拆分......但是这里就是:

> perl -le'$str="<string>";print split("<",(split(">",$str))[0]);'
string