我以前从未使用过Perl,并且有一个基本问题。

 my $string1 = "Hi. My name is Vlad. It is snowy outside.";

 my @array = split('.' $string1); ##essentially I want this, but I want the period to be kept


我想在“。”处分割此字符串。但我想保留期间。如何做到这一点?

最佳答案

您可以使用lookbehind执行此操作:

split(/(?<=\.)/, $string)


正则表达式与句点后面的空字符串匹配。

如果要同时删除句子之间的空格,可以将其更改为:

split(/(?<=\.)\s*/, $string)


正向和反向向后解释here

关于perl - split()但保留定界符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14907772/

10-14 17:24