栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Python删除小词

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Python删除小词

当然,这也不难:

shortword = re.compile(r'W*bw{1,3}b')

上面的表达式选择任何以某些非单词字符开头的单词(本质上是空格或开头),其长度在1-3个字符之间,并以单词边界结尾。

>>> shortword.sub('', anytext)' echo chamber from ontario '

b
边界的比赛是很重要的位置,他们保证你不匹配只是一个字的第一个或最后3个字符。

W*
一开始,您可以删除这两个词和前面的非单词字符,这样句子的其余部分仍然匹配起来。需要注意的是标点符号包含在
W
,使用
s
,如果你 只是
想删除前面的空白。

值得一提的是,这种正则表达式解决方案在其余单词之间 保留了 额外的空格,而mgilson的版本将多个空格字符折叠成一个空格。不知道这对您是否重要。

他的列表理解解决方案 两者中较快的一种:

>>> import timeit>>> def re_remove(text): return shortword.sub('', text)... >>> def lc_remove(text): return ' '.join(word for word in text.split() if len(word)>3)... >>> timeit.timeit('remove(" in the echo chamber from ontario duo ")', 'from __main__ import re_remove as remove')7.0774190425872803>>> timeit.timeit('remove(" in the echo chamber from ontario duo ")', 'from __main__ import lc_remove as remove')6.4250049591064453


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/574769.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号