我以前从未使用过 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)
正面和负面的lookbehind在这里解释
如果您不介意将句点拆分为数组中自己的元素,则可以使用括号告诉 split 保留它们:
my @array = split(/(\.)/, $string);