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

3297: [USACO2011 Open]forgot

3297: [USACO2011 Open]forgot Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 69...

2476
来自专栏一个会写诗的程序员的博客

《Springboot极简教程》使用Spring Boot, JPA, Mysql, ThymeLeaf,gradle, Kotlin快速构建一个CRUD Web App

使用Spring Boot, JPA, Mysql, ThymeLeaf,gradle, Kotlin快速构建一个CRUD Web App

632
来自专栏机器人网

终于全了!ABB机器人学习资料

? 1、安全 自动模式中,任何人不得进入机器人工作区域 长时间待机时,夹具上不宜放置任何工件。 机器人动作中发生紧急情况或工作不正常时,均可使用E-stop键...

2743
来自专栏Play & Scala 技术分享

PlayScala 2.5.x - 关于Content-Type的注意事项

3144
来自专栏对角另一面

读Zepto源码之assets模块

assets 模块是为解决 Safari 移动版加载图片过大过多时崩溃的问题。因为没有处理过这样的场景,所以这部分的代码解释不会太多,为了说明这个问题,我翻译了...

2070
来自专栏日常学python

如何爬取asp动态网页?搞定可恶的动态参数,这一文告诉你!

这个asp网站是我的学校的电费查询系统,需要学校的内网才能查询,所以这文说下思路和我遇到的一些坑。我搞这个网站主要是为了方便查电费而已,其实也方便不了多少。而且...

873
来自专栏生信宝典

ETE构建、绘制进化树

ETE能做什么 A Python framework for construction, analysis and visualization of trees...

4105
来自专栏difcareer的技术笔记

ELF文件格式修复

在IDA动态调试-没啥卵用的静态加固中,我构造了一个畸形的ELF文件,虽然能够糊弄一下IDA的静态分析,但是动态分析无效。

946
来自专栏Phoenix的Android之旅

开发必须了解的10个Android库

作为一个开发者来说,避免重复造轮子是很重要的,能让你节省很多时间去专注于开发自己的业务。2018年已经过去一大半了,今天介绍下今年以来业界内比较推崇的几个框架,...

703
来自专栏技术小黑屋

利用WebView实现网页的i18n

软件如果想在全球获得更多的用户,国际化与本地化(internationalization and localization 简称:i18n 和L10n)是非常必...

562

扫码关注云+社区