如何在Perl中优雅地从字符串中分割成对的单词?
发布时间:2020-12-16 06:11:04 所属栏目:大数据 来源:网络整理
导读:在perl中,我有一个粗略的字符串 my $str = "one 10 two 20 three 30"; 现在,我想将该字符串拆分为字数对,但有 没有成功. 我以为我能做到 my @pairs = split /([a-z]+[^a-z]+)/,$str; 然后会有 $pairs[0] eq 'one 10 '$pairs[1] eq 'two 20 '$pairs[2] eq 'th
在perl中,我有一个粗略的字符串
my $str = "one 10 two 20 three 30"; 现在,我想将该字符串拆分为字数对,但有 我以为我能做到 my @pairs = split /([a-z]+[^a-z]+)/,$str; 然后会有 $pairs[0] eq 'one 10 ' $pairs[1] eq 'two 20 ' $pairs[2] eq 'three 30' 但是,我明白了 $pairs[0] eq ' ' $pairs[1] eq 'one 10 ' $pairs[2] eq ' ' $pairs[3] eq 'two 20 ' $pairs[4] eq ' ' $pairs[5] eq 'three 30' 现在,我可以使用grep来获得我想要的结果: my @pairs = grep {$_ =~ /S/} split /([a-z]+[^a-z]+)/,$str; 但我想知道是否有一个更优雅的解决方案来解决这个问题. 解决方法
不知道它是否是一个优雅的解决方案,你可以使用与/ g修饰符匹配:
my @pairs = $str =~ /(w+s+d+)/g; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |