0

我是 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 />

我希望通过 "< br /> 将字符串拆分为自己的字符串,然后将字符串存储在数组中。到目前为止,我尝试拆分字符串的是:

my $line1 = split("/<br />", $Line);

并尝试通过打印输出来测试它,但它不起作用。

4

2 回答 2

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;
于 2012-08-01T12:24:50.233 回答
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;
于 2012-08-01T12:19:49.023 回答