Linux Perl中的条件拆分
我有以下句子:Linux Perl中的条件拆分,linux,perl,unix,text-processing,Linux,Perl,Unix,Text Processing,我有以下句子: my $sent = 'D. discoideum and D. purpureum developmental programs revealed'; 有没有一种方法可以将行分开,这样中间有“.”(点)的两个连续单词将被视为一个单词 因此,我们希望在拆分后得到: $VAR = ['D. discoideum', 'and', 'D. purpureum', 'developmental', 'prog
my $sent = 'D. discoideum and D. purpureum developmental programs revealed';
有没有一种方法可以将行分开,这样中间有“.”(点)的两个连续单词将被视为一个单词
因此,我们希望在拆分后得到:
$VAR = ['D. discoideum',
'and',
'D. purpureum',
'developmental',
'programs',
'revealed'];
标准的s/\s+//g
将根据空间分割所有内容。尝试在以下位置进行分割:
/(?<!\.)\s+/
/(?
此表达式匹配任何不在句点之后的空格字符,但不匹配句点本身。不使用正则表达式拆分:
my @words = $sent =~ /(\S+\.\s+\S+|\S+)/g;
+1-谢谢,当你发表评论时,我正在测试这一点。我以为我可以做到,而无需提前/延迟,然后意识到整个“最后一封信不是句号”部分。