Як розділити текст на пропозиції. На мою думку, я повинен використовувати split () і роздрукувати їх, але зараз у мене немає. Я тільки почав вивчати Perl.
Мій текст
Блок тексту - це стек рядків. У разі "лівого", "право" і "центр", це властивість вказує, як вбудований рівень коробки в кожному рядку вирівнюються по відношенню до рядка зліва і правих сторін; вирівнювання не стосується вікна перегляду. В У випадку "justify" це властивість вказує, що вбудований рівень коробки повинні бути виконані врівень з обох боків лінії, якщо можливим, шляхом розширення або стиснення вмісту вбудованих вікон, інакше вирівняно як для початкового значення. Див. Також "інтервал між буквами" і "інтервал між словами".
Відповіді:
1 для відповіді № 1Якщо це не власне домашнє завдання, я б просто скористався однією з Модулі CPAN які обробляють це, скажімо Lingua :: Вирок що, здається, перебуває в стані активного розвитку.
1 для відповіді № 2
Один із способів зробити це - використання split
у поєднанні з поглядом-позаду.
perl -nlwe "print for split /(?<=S[.!?])s+/" < data.txt
Це працює з вашими зразковими даними.
Те, що ви хочете зробити, це усунути простір, що розділяє речення. Кінець речення визначається як одне з .!?
передує символ без пробілів. Налаштуйте за бажанням.
0 для відповіді № 3
спробуй
$paragraph = "Text. Text";
@sentences = split(/./, $paragraph);
print @sentences;