我是Perl的新手,我目前正在尝试仅在几个字母上拆分字符串。 我已经查看了其他答案,它们似乎是针对该问题的,或者没有评论来理解答案。
最终目标是将一个非常长的CSV文件拆分为接收部分,然后可以在以后使用。样本数据是
HOME 123454 monkey lion 6.4.2.10 ( ABCD EFGH (Tue 20th August 2000) 12345 True )<br />HOME 123454 monkey lion 6.4.2.10 ( ABCD EFGH (Tue 20th August 2000) 12345 True )<br />
我希望通过“&lt; br /&gt;”将字符串拆分成自己的字符串,然后将字符串存储在数组中。到目前为止,我试图将字符串拆分为:
my $line1 = split("/<br />", $Line);
并通过打印输出来测试它,但它不起作用。
答案 0 :(得分:7)
split
函数返回标量上下文中的拆分数。要获取拆分列表,需要在列表上下文中调用split
:
my $str = q{HOME 123454 monkey lion 6.4.2.10 ( ABCD EFGH (Tue 20th August 2000) 12345 True )<br />HOME 123454 monkey lion 6.4.2.10 ( ABCD EFGH (Tue 20th August 2000) 12345 True )<br />};
my @lines = split qr{<br\s?/>}, $str;
答案 1 :(得分:3)
$str = 'HOME 123454 monkey lion 6.4.2.10 ( ABCD EFGH (Tue 20th August 2000) 12345 True )<br />HOME 123454 monkey lion 6.4.2.10 ( ABCD EFGH (Tue 20th August 2000) 12345 True )<br />';
my @list = split(qr'<br />', $str);
say $_ for @list;