为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查字符串中的整个单词是否包含在其他字符串中?

如何检查字符串中的整个单词是否包含在其他字符串中?

红颜莎娜 2023-12-05 15:31:37
如果字符串中的一个单词与另一个字符串中的单词相同,但仅当整个单词匹配而不是单个字母或部分匹配时,我希望我的程序返回 True。这是我的意思的一个例子......a = "hi please help"b = "help anyone"if any(a.split()) == any(b.split()):    print("True")这暂时有效,但如果我把 a 换成其他东西......a = "h"b = "help"if any(a.split()) == any(b.split()):    print("True")它仍然打印“True”,这不是我的意图。我确实查看了与此类似的其他线程,但我找不到任何解决部分不被接受的问题的方法,但整个字符串不必是子字符串。
查看完整描述

3 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

尝试这个:

set_a = set(a.split())
any(w in set_a for w in b.split())

这将评估True是否有任何单词wfromb.split()位于 中set_a,其中set_a是由 组成的一组单词a.split()

这应该比执行集合交集更快,因为 (1) 它只为其中一个分割字符串创建一个集合,(2) 一旦找到匹配项,它就会停止搜索,并且 (3) 它不会创建集合为交集结果。


查看完整回答
反对 回复 2023-12-05
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

将两个字符串转换为集合并创建交集:

if set(a.split()) & set(b.split()):
    print("True")


查看完整回答
反对 回复 2023-12-05
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

尝试这个 :


for i in b.split():

  if a.split().count(i):

    print("True")


查看完整回答
反对 回复 2023-12-05
  • 3 回答
  • 0 关注
  • 59 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信