split () в perl - perl

Як розділити текст на пропозиції. На мою думку, я повинен використовувати 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;