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 条评论
登录 后参与评论

相关文章

来自专栏韩东吉的Unity杂货铺

零基础入门 32:修改组件的位置.宽高.旋转.缩放

已经不止一两个同学来问过我这个问题了,如何修改一个组件的位置啊,宽高啊,旋转啊,缩放啊之类的问题,鉴于好多同学都有这个疑问,我就单独把他抽出一个小分享内容列出来...

942
来自专栏everhad

虾扯蛋:Android View动画 Animation不完全解析

本文结合一些周知的概念和源码片段,对View动画的工作原理进行挖掘和分析。以下不是对源码一丝不苟的分析过程,只是以搞清楚Animation的执行过程、如何被周期...

2169
来自专栏黄Java的地盘

Markdown语法简介

markdown语法目前有两种,我会选择一种我在实践过程中认为比较简单的标记来进行简单介绍。如果需要进行查阅,可以直接阅读末尾总结部分。

521
来自专栏用户2442861的专栏

初步学习Qt布局

在一个Widget中,Qt布局管理系统提供了一个简单而有效的方式来自动组织子widget,以保证他们能够很好地利用可用空间。

981
来自专栏林德熙的博客

win10 UWP 蜘蛛网效果 在 Canvas 画一个点指定添加到 Canvas 的 Element 的位置随机移动点画线自动移动全部代码

那么我来告诉大家如何做这个效果。 第一步是在 Canvas 画点,第二步是让点移动,第三步是画线

1942
来自专栏练小习的专栏

如何让一个层位于iframe之上.flash之上

蓝色理想 goos 摘录一段CSS参考手册的话: z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。 注释:元素...

2019
来自专栏hightopo

基于 HTML5 Canvas 的 3D 压力器反序列化

961
来自专栏哎_小羊

基于jquery的imgAreaSelect.js插件+JAVA后台实现图片裁剪保存功能

前段时间,项目在做个人信息设置,其中有一项是设置用户头像信息,需要将用户选择的头像按照用户需要进行剪切,同时保存为大(120*120)、中(75*75)、小(3...

4117
来自专栏進无尽的文章

实践-小细节 Ⅰ

     开发中总有一些细枝末节的东西是容易出错的地方,搜集总结下,避免再次掉入坑中。

762
来自专栏Flutter入门

Flutter开发实战分析-pesto_demo解析

以下代码基本参考于 flutter_gallery中的pesto_demo示例。(可以结合本文看源码)

3512

扫码关注云+社区