split () в Perl - PullRequest
       12

split () в Perl

0 голосов
/ 10 мая 2011

Как разделить текст на предложения. По моему мнению, я должен использовать split () и распечатать их, но у меня их нет. Я только начал изучать Perl.

Мой текст

Блок текста представляет собой стек строк. В случае «слева», 'right' и 'center', это свойство указывает, как встроенный уровень прямоугольники в каждом линейном блоке выровнены относительно левого линейного блока и правые стороны; выравнивание не по отношению к окну просмотра. В в случае 'justify' это свойство указывает, что встроенный уровень коробки должны быть установлены заподлицо с обеих сторон линейного блока, если возможно, путем расширения или сжатия содержимого встроенных блоков, иначе выровнен как для начального значения. Смотрите также «межбуквенный интервал» и "Слово-интервал.

Ответы [ 3 ]

1 голос
/ 10 мая 2011

Если это не домашнее задание, я бы просто использовал один из модулей CPAN , который обрабатывает это, скажем Lingua :: Sentence , который, кажется, находится в стадии активной разработки.

1 голос
/ 10 мая 2011

Один из способов сделать это - использовать split в сочетании с опозданием.

 perl -nlwe 'print for split /(?<=\S[.!?])\s+/' < data.txt

Это работает для ваших образцов данных.

То, что вы хотите сделать здесь, это исключить пробел, разделяющий предложения. Конец предложения определяется как один из .!?, которому предшествует непробельный символ. Твик по желанию.

0 голосов
/ 10 мая 2011

попробуй

$paragraph = "Text. Text";
@sentences = split(/\./, $paragraph);
print @sentences;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...