如何将文本分成句子。在我看来,我应该使用split()并打印它们,但我现在没有。 我刚开始学习Perl。
我的文字
文本块是一堆行框。在“左”的情况下, 'right'和'center',此属性指定内联级别 每个行框内的框与行框的左侧对齐 和右边;对齐不是关于视口。在 'justify'的情况下,此属性指定内联级别 如果,盒子应与线盒的两侧齐平 通过扩展或收缩内联框的内容, 否则与初始值对齐。另见'letter-spacing'和 '字间距'。
答案 0 :(得分:1)
如果这实际上不是作业,我只会使用处理此问题的CPAN modules之一,说Lingua::Sentence似乎正在积极开发中。
答案 1 :(得分:1)
一种方法是将split
与后视结合使用。
perl -nlwe 'print for split /(?<=\S[.!?])\s+/' < data.txt
这适用于您的样本数据。
你想要做的是消除空格分隔句子。句末定义为.!?
之一,前面是非空格字符。根据需要调整。
答案 2 :(得分:0)
试
$paragraph = "Text. Text";
@sentences = split(/\./, $paragraph);
print @sentences;