我可以在 Perl 中保存字符串的拆分字符吗
Can I save the split character of a string in Perl
我想将多句段落拆分为其组成句子,同时保留拆分字符,即'。 ? !'。我使用的代码是:
my @Sentence = split(/[\.\?\!]/,$Paragraph);
有什么方法可以节省那些句子终止符吗?
是的,如果您在分隔符周围添加括号,它们将包含在结果列表中。
my @Sentence = split /([\.\?\!])/, $Paragraph;
例如如果您在得到 qw(foo bar baz)
之前有字符串 foo.bar.baz
,并且带有括号,您将得到 qw(foo . bar . baz)
.
如果您想保留句子中的定界符,您可以使用后向断言
my @Sentence = split /(?<=[\.\?\!])/, $Paragraph;
# result qw(foo. bar. baz)
如果你想去掉匹配后不必要的空格,你可以使用/(?<=[\.\?\!]) */
。
我想将多句段落拆分为其组成句子,同时保留拆分字符,即'。 ? !'。我使用的代码是:
my @Sentence = split(/[\.\?\!]/,$Paragraph);
有什么方法可以节省那些句子终止符吗?
是的,如果您在分隔符周围添加括号,它们将包含在结果列表中。
my @Sentence = split /([\.\?\!])/, $Paragraph;
例如如果您在得到 qw(foo bar baz)
之前有字符串 foo.bar.baz
,并且带有括号,您将得到 qw(foo . bar . baz)
.
如果您想保留句子中的定界符,您可以使用后向断言
my @Sentence = split /(?<=[\.\?\!])/, $Paragraph;
# result qw(foo. bar. baz)
如果你想去掉匹配后不必要的空格,你可以使用/(?<=[\.\?\!]) */
。