这是一个创建于 2936 天前的主题,其中的信息可能已经有所发展或是发生改变。
床下睡着一个 IBM 啥奖啥奖的舍友真是有种想舔大腿的冲动,是的,抱大腿已经不能满足我了。
网上 python 中文分句的脚本一般都是 split 或者建一个分割标点 list ,用 for word in words 的循环来搞,然后大神就给我写了一个,核心就是下面这句
for s in re.findall(u'.*?[!|,|,|。|...|?|?|!|;|~|~|。|::]+',line+u'::');
其中
findall 解决了 split 不保留标点的问题;
.*?[]+解决了多标点的分割问题,比如“握日!!!”,但是这个正则并没那么简单,大神说这叫贪婪,我这就拿笔记下来;
line+u'::'解决 用split方法,当文档最后一个不是标点的时候会把最后一句话都删掉的问题;
当然这个脚本还是不能解决书名号里面有标点时候的分割问题,主要我没问,问了估计就是一句“用正则”回我,哎人家是 1 秒两行有效代码,我是 1 天两行有效代码嘤嘤嘤
2 条回复 • 2017-06-17 17:31:03 +08:00
|
|
1
simoncos 2016-10-03 12:05:03 +08:00
啊真应该抽时间学学正则了
|
|
|
2
yucongo 2017-06-17 17:31:03 +08:00
[...] 的用法貌似有少少问题,不像是大神级写出来的正则,那些"|"不是在[...]里用的东西,或者是你抄错了?
|