2

perlでパラパラで文を分割したい。

現在、Lingua::EN::Sentence モジュールを使用しており、内部コードなしで文を分割できます

> <em>

タグですが、内部にいくつかのタグがあるため、この段落を分割できません

脚本:

use strict; use Lingua::EN::Sentence qw( get_sentences add_acronyms );

$line = "En meteen is er iets. Die voorstelling dat hapert";

my $sentences = get_sentences($line); foreach my $sentence
(@$sentences) {
     print $sentence."\n"; }

出力:

En meteen is er iets.
Die voorstelling dat hapert




  > <p>luk heeft aan zichzelf genoeg, het heeft geen getuigen nodig. Then
    > <em class="xix"><span class="emph-xix-brl">anna Karenina</span>.
    > </em>Ik zou daar hooguit afkunnen. Hoe meer <em>getuigen hoe<em>
    > beter. Het alleen is.</p>

このパラどのように分割?

4

1 に答える 1

5

HTML::Strip を使用して、分割する前にタグを削除してみてください。

コード

#! /usr/bin/env perl
use strict;
use warnings;
use HTML::Strip;
use Data::Dumper;

use Lingua::EN::Sentence qw( get_sentences add_acronyms );

my $line = "En meteen is er iets. Die voorstelling dat hapert";
my $paragraph = '<p>luk heeft aan zichzelf genoeg, het heeft geen getuigen nodig. Then <em class="xix"><span class="emph-xix-brl">anna Karenina</span>.  </em>Ik zou daar hooguit afkunnen. Hoe meer <em>getuigen hoe<em>    beter. Het alleen is.</p>' ;

my $html_strip = HTML::Strip->new();
my $clean_paragraph = $html_strip->parse($paragraph);

my $sentences = get_sentences($clean_paragraph);

print Dumper($sentences);

出力

$VAR1 = [
      'luk heeft aan zichzelf genoeg, het heeft geen getuigen nodig.',
      'Then anna Karenina .  Ik zou daar hooguit afkunnen.',
      'Hoe meer getuigen hoe    beter.',
      'Het alleen is.'
    ];
于 2012-10-18T13:23:12.350 に答える