gpt4 book ai didi

python - 检查句子中的单词

转载 作者:行者123 更新时间:2023-12-01 08:08:59 26 4
gpt4 key购买 nike

我用 Python 编写了一个程序。用户输入文本消息。需要检查该消息中是否存在单词序列。样本。消息:“世界你好,我的 friend 。”。检查这两个单词的顺序:“Hello”、“world”。结果是“真”。但是当检查消息中这些单词的顺序时:“你好,美丽的世界”,结果是“假”。当您需要检查是否仅存在两个单词时,这是可能的,就像我在代码中所做的那样,但是当 5 个或更多单词的组合时就很困难了。有什么小办法可以解决这个问题吗?

s=message.text
s=s.lower()
lst = s.split()
elif "hello" in lst and "world" in lst :
if "hello" in lst:
c=lst.index("hello")
if lst[c+1]=="world" or lst[c-1]=="world":
E=True
else:
E=False

最佳答案

最简单的方法是使用循环。将您的消息分成单独的单词,然后一般检查句子中的每个单词。

word_list = message.split()     # this gives you a list of words to find
word_found = True
for word in word_list:
if word not in message2:
word_found = False

print(word_found)

当且仅当在句子中找到所有单词时,word_found 标志为 True。有很多方法可以使这个过程更短、更快,特别是使用 all 运算符,并将单词列表作为内联表达式提供。

word_found = all(word in message2 for word in message.split())

现在,如果您需要将“找到的”属性限制为匹配确切的单词,则需要更多的预处理。上面的代码对子字符串过于宽容,例如查找“Are you OK ?”在“你的笑话只是勉强好笑”这句话中。对于限制性更强的情况,您应该将 message2 分解为单词,去掉这些单词的标点符号,将它们变为小写(以便更容易匹配),然后查找每个单词(来自 message)位于 message2 中的单词列表中。

你能从那里拿走它吗?

关于python - 检查句子中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55381690/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com