[英]split() in perl
如何將文本分為句子。 在我看來,我應該使用split()並打印它們,但現在沒有了。 我才剛剛開始學習Perl。
我的文字
一塊文本是一堆線框。 對於“ left”,“ right”和“ center”,此屬性指定每個線框內的行內框如何相對於線框的左側和右側對齊。 對齊不關於視口。 在'justify'的情況下,此屬性指定通過擴大或收縮內聯框的內容,使內聯級框與行框的兩側齊平,否則將其與初始值對齊。 另請參見“字母間距”和“單詞間距”。
如果這實際上不是家庭作業,那么我只會使用處理該問題的CPAN模塊之一,例如Lingua :: Sentence ,它似乎正在積極開發中。
一種方法是將split
與后向組合結合使用。
perl -nlwe 'print for split /(?<=\S[.!?])\s+/' < data.txt
這適用於您的示例數據。
您要在此處執行的操作是消除句子之間的空格。 句子結尾定義為.!?
前面是非空格字符。 根據需要進行調整。
嘗試
$paragraph = "Text. Text";
@sentences = split(/\./, $paragraph);
print @sentences;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.