python︱flashtext高效字符串查找与替换

项目链接:https://github.com/vi3k6i5/flashtext 原文:资源 | 十五分钟完成Regex五天任务:FastText,语料库数据快速清理利器 .

性能:

案例:字符串查找

英文:

# pip install flashtext
from flashtext.keyword import KeywordProcessor
keyword_processor = KeywordProcessor()
keyword_processor.add_keyword('Big Apple', 'New York')
keyword_processor.add_keyword('Bay Area')
keywords_found = keyword_processor.extract_keywords('I love Big Apple and Bay Area.')
keywords_found
# ['New York', 'Bay Area']

中文:

from flashtext import KeywordProcessor
keyword_processor = KeywordProcessor()
keyword_processor.add_keyword('你好', '您好')  # 前面一个单词为住   后面一个单词为替换 
keyword_processor.add_keyword('不要')
keywords_found = keyword_processor.extract_keywords('你好,请不要随便践踏草坪。')  #显示的单词为替换之后的
keywords_found

最后显示:

['您好', '不要']

add_keyword(查找字符,替换字符),也就是先找到句子中的’你好’,然后显示出来的是add_keyword的替换字符 .

案例:字符串替换

英文:

from flashtext.keyword import KeywordProcessor
keyword_processor = KeywordProcessor()
keyword_processor.add_keyword('Big Apple', 'New York')
keyword_processor.add_keyword('New Delhi', 'NCR region')
new_sentence = keyword_processor.replace_keywords('I love Big Apple and new delhi.')
new_sentence
# 'I love New York and NCR region.'

中文:

from flashtext import KeywordProcessor
keyword_processor = KeywordProcessor()
keyword_processor.add_keyword('你好', '您好')  # 前面一个单词为住   后面一个单词为替换 
new_sentence = keyword_processor.replace_keywords('你好,请不要随便践踏草坪。')
new_sentence

最后显示:

'您好,请不要随便践踏草坪。'

其他功能觉得在中文场景不太好用。。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏HansBug's Lab

3361: [Usaco2004 Jan]培根距离

3361: [Usaco2004 Jan]培根距离 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 16  S...

3415
来自专栏沈唁志

BC数学函数:PHP处理有关钱数等浮点数计算时高精确度函数库

在商城类的项目当中,避免不了钱数的计算,也就会出现所谓的浮点数精度问题,前两天阅文的小哥哥面试我的时候就问到了这个,Mysql怎么去存钱数?PHP又该怎么处理浮...

522
来自专栏HansBug's Lab

1609: [Usaco2008 Feb]Eating Together麻烦的聚餐

1609: [Usaco2008 Feb]Eating Together麻烦的聚餐 Time Limit: 10 Sec  Memory Limit: 64 M...

2766
来自专栏数据结构与算法

BZOJ1007: [HNOI2008]水平可见直线(单调栈)

1081
来自专栏程序员笔记

Note_Pedagogy of Game Design

1242
来自专栏FreeBuf

浅析ReDoS的原理与实践

*本文原创作者:MyKings,本文属FreeBuf原创奖励计划,未经许可禁止转载 ReDoS(Regular expression Denial of Ser...

3625
来自专栏GIS讲堂

转换Arcgis Server REST接口实现OL2直接调用

本文讲解如何通过Arcgis Server REST 的导出地图(Export)接口,实现在OL2中直接以WMS的方式调用Arcgis Server REST...

862
来自专栏ml

HDUOJ---2152

Fruit Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav...

2616
来自专栏数据结构与算法

1722 最优乘车 1997年NOI全国竞赛

1722 最优乘车 1997年NOI全国竞赛  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 大师 Master 题解 题目描述 Des...

2775
来自专栏数据结构与算法

P2661 信息传递

题目描述 有n个同学(编号为1到n)正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学。 游戏...

34511

扫码关注云+社区