加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – 当最后一个字符是终止符时,解决split函数问题

发布时间:2020-12-15 23:21:11 所属栏目:大数据 来源:网络整理
导读:我有20个字段的这一行数据: my $data = '54243|601|0|||0|N|0|0|0|0|0||||||99582|'; 我用这个来分割数据: my @data = split ('|'),$data; 但是,不是20个数据,而是只有19个: print scalar @data; 如果最后一个字符是|,我可以手动将空字符串推送到@data但
我有20个字段的这一行数据:

my $data = '54243|601|0|||0|N|0|0|0|0|0||||||99582|';

我用这个来分割数据:

my @data = split ('|'),$data;

但是,不是20个数据,而是只有19个:

print scalar @data;

如果最后一个字符是|,我可以手动将空字符串推送到@data但我想知道是否有更美好的方式.

解决方法

my @data = split /|/,$data,-1;

-1告诉split包含空的尾随字段.

(正则表达式周围的括号不正确,导致$data不被视为split的参数.另外,有一个例外,split的第一个参数总是一个正则表达式,所以最好将它指定为正则表达式而不是一个正则表达式将被解释为正则表达式的字符串.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读