检查带有不可预知分隔符的字符串中的单词
Check for word in string with unpredictable delimiters
我正在寻找比仅检查 if "word" in "check for word"
.
对于不可预测的字符串更可靠的东西
举个例子,假设我有以下句子:
"Learning Python!"
如果句子包含“Python”,我想评估为真,但如果是:
"Learning #python!"
使用 space 作为分隔符进行拆分会得到 ["learning", "#python"]
,它与 python
.
不匹配
(注意:虽然我知道我可以删除这个特定案例的 #
,但问题是 1. 我正在标记编程语言并且不想删除 #
在 C#
和 2。这只是一个示例,我可以通过很多不同的方式来查看人工输入的标题,包括这些我仍然想捕捉的提示。)
我基本上想检查是否排除合理怀疑,我正在寻找的字符序列就在那里,尽管他们可能会以任何奇怪的方式提及它。有哪些方法可以做到这一点?我看过模糊搜索,但我还没有看到任何 use-cases 寻找单个词。
这里的最终目标是我有编程语言的标签,我想接收人们的流标题的标题,如果标题中提到语言,我想标记语言。
如果单词包含“python”,此代码将打印 True
,忽略大小写。
import re
input = "Learning Python!"
print(re.search("python", input, re.IGNORECASE) is not None)
我正在寻找比仅检查 if "word" in "check for word"
.
举个例子,假设我有以下句子:
"Learning Python!"
如果句子包含“Python”,我想评估为真,但如果是:
"Learning #python!"
使用 space 作为分隔符进行拆分会得到 ["learning", "#python"]
,它与 python
.
(注意:虽然我知道我可以删除这个特定案例的 #
,但问题是 1. 我正在标记编程语言并且不想删除 #
在 C#
和 2。这只是一个示例,我可以通过很多不同的方式来查看人工输入的标题,包括这些我仍然想捕捉的提示。)
我基本上想检查是否排除合理怀疑,我正在寻找的字符序列就在那里,尽管他们可能会以任何奇怪的方式提及它。有哪些方法可以做到这一点?我看过模糊搜索,但我还没有看到任何 use-cases 寻找单个词。
这里的最终目标是我有编程语言的标签,我想接收人们的流标题的标题,如果标题中提到语言,我想标记语言。
如果单词包含“python”,此代码将打印 True
,忽略大小写。
import re
input = "Learning Python!"
print(re.search("python", input, re.IGNORECASE) is not None)