這個問題在這里已經有了答案: split() 但保留分隔符 2 個答案 9 天前關閉。
我想將一個多句子段落拆分為其組成句子,同時保留拆分字符,即 ' 。? !'。我正在使用的代碼是:
my @Sentence = split(/[\.\?\!]/,$Paragraph);
有什么辦法可以保存那些句子終止符嗎?
uj5u.com熱心網友回復:
是的,如果您在分隔符周圍添加括號,它們將包含在結果串列中。
my @Sentence = split /([\.\?\!])/, $Paragraph;
例如,如果你有字串foo.bar.baz,你會得到qw(foo bar baz),并且用括號你會得到qw(foo . bar . baz)。
如果您想將分隔符附加到句子中,您可以使用后向斷言
my @Sentence = split /(?<=[\.\?\!])/, $Paragraph;
# result qw(foo. bar. baz)
如果你想在比賽結束后去掉不必要的空格,你可以使用/(?<=[\.\?\!]) */.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/450441.html
下一篇:如何在Perl中為Selenium::Chrome設定ChromeOptions(或goog:ChromeOptions)
