在列表中找到相似的单词

2024-05-13 14:21:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使过滤器机器人,可以找到相同的字符或相同的字,在消息中列出的阻止列表

block = ["damn", "shit"]

如果消息计数:daaaammmnnnn或ssssss hit或da mn或明尼苏达州. 像那样抓住它然后返回真值

我怎么能做到这一点。在

泰铢。在


Tags: 消息过滤器列表机器人字符blockda计数
3条回答
from collections import OrderedDict

string = "test this string to check for sshh-iitit and dammm.mn"
new_string = string.replace('-','')
final_string = new_string.replace('.','')
words = final_string.split()
for word in words:
    check = "".join(OrderedDict.fromkeys(word))
    if check == "damn" or check == "shit":
        print "true"

你应该看看Levenshtein distance!PHP有一个很好的函数:leventstein()。对于Phython,至少有一个C实现:https://pypi.python.org/pypi/python-Levenshtein/0.12.0

当消息包含列表block中的任何项时,将flag值设置为True。在

  1. 获取block列表并通过for循环迭代列表中的每个项。在
  2. 默认情况下,将flag的值设置为False,表示消息不包含任何阻止列表项。在
  3. 当消息中的block列表中的项时,将flag的值设置为True。在
  4. 使用break语句停止for循环迭代。在

例如

>>> block = ["damn", "shit"]
>>> msg = "test masf to check shit or damn"
>>> flag = False
>>> for i in block:
...   if i in msg:
...      flag = True
...      break
... 
>>> flag
True
>>> 

更新时间:

  1. 设置block列出单词。在
  2. 创建阻止列表单词字符列表。在
  3. 从输入字符串中删除标点符号。在
  4. 将字符串拆分为单词。在
  5. 拆分单词并从该单词创建字符序列列表。在
  6. 检查阻止列表字符列表中存在的字符序列列表。在

代码:

^{pr2}$

输出:

vivek@vivek:~/Desktop/stackoverflow$ python 16.py 
The word `damn` from block list is presnt in input 'True test case ? daaaammmmnnnnn.,'
The word `damn` from block list is presnt in input 'True test case ? normal damn.,'
No word from block list is presnt in input 'False test case ? nothing when sequance aaammdddnnn..'
No word from block list is presnt in input 'False test case ? nothing..'
No word from block list is presnt in input 'True test case ? Handle  daaaammaaaammnnnnn.,'

相关问题 更多 >