簡體   English   中英

Perl中的split()

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM