如何用句号分割中文句子
发信站: BBS 水木清华站 (Mon Mar 7 19:40:39 2005), 转信
example:
还有一件事。5点半你去会见斯图尔特先生。
提取出
subsentence1: 还有一件事。
subsentence2:5点半你去会见斯图尔特先生。
句中可能有多个句号那么就切分为多个。
我的想法是:
1.去掉末尾标点
$t_c_str =~s/[))/;,.?!/"/',。?!“”‘’…/n]+$//; #去掉末尾标点
2.在判断有无句号
if($t_c_str =~ /。/ )
3.切分
@subsen_c = split(/。/,$t_c_str);
有bug 大家帮忙支个招。
ans
你用支持unicode的编辑器把源文件全部转成utf8编码,然后在最开始加use utf8,中文字符就和英文字符一样用了。
不想这样转就得用Encode模块:
use Encode;
$a=decode("gbk","还有一件事。5点半你去会见斯图尔特先生。");
$dot=decode("gbk","。");
@f=split(/(?<=$dot)/b/,$a);
foreach(@f) {
print encode("gbk",$_),"/n";
}