python - 检查字符串中具有不可预测分隔符的单词

标签 python python-3.x fuzzy-search

我正在寻找比仅仅检查 if "word" in "check for word" 更可靠的方法来处理不可预测的字符串。

举个例子,假设我有以下句子:

"Learning Python!"

如果句子包含“Python”,我想评估为 true,但如果它是:

"Learning #python!"

使用空格作为分隔符进行分割会给我 ["learning", "#python"] ,它与 python 不匹配。

(注意:虽然我确实知道我可以针对这种特殊情况删除 # ,但问题是 1. 我正在标记编程语言,并且不想删除 # 中的 C# ,以及 2.这只是一个示例案例,我可以通过很多不同的方式查看人工输入的标题,包括我仍然想捕捉到的这些提示。)

我基本上想检查是否毫无疑问,我正在寻找的字符序列是否存在,尽管他们可能会以任何奇怪的方式提及它。有哪些方法可以做到这一点?我稍微研究过模糊搜索,但还没有看到任何查找单个单词的用例。

这里的最终目标是我有编程语言的标签,我想获取人们的流标题的标题,并标记该语言(如果标题中提到了该语言)。

最佳答案

如果单词包含“python”,此代码将打印 True,忽略大小写。

import re

input = "Learning Python!"
print(re.search("python", input, re.IGNORECASE) is not None)

关于python - 检查字符串中具有不可预测分隔符的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63165645/

相关文章:

python - 是否有可能 "hack"Python 的打印功能?

python - 在pygame中旋转图像

eclipse 。快速切换编辑器中的模糊搜索

solr - 如何在 SOLR 中实现复杂的 token 匹配算法

r - 如何在 R 中使用每一侧多个变量进行模糊连接

python - 从 Qt Designer 和 PyQt 开始

python - 什么是 "AttributeError: ' _io.TextIOWrapper' 对象在 python 中没有属性 'replace' "?

python - 你可以在没有文件的情况下使用 csv.DictReader 吗?

Python: 'function' 对象没有属性 x

python - Pandas 值(value)错误: Index Data must be 1 dimensional