在给定的字符串中搜索一组字母-Python

时间:2018-07-26 04:25:04

标签: python string

我正在尝试检查emblem中是否包含userString。为了将emblem包含在userString中,emblem中的字符应出现在userString中。

Python代码如下:

emblem = "mammoth"
userEntered = "zmzmzmzaztzozh"

print(emblem)
print(userEntered)

found = emblem in userEntered

print(found)

在上述情况下,mammoth中确实出现了单词zmzmzmzaztzozh(字符maoth都在zmzmzmzaztzozh中,但仍然发现= false。是否可以在不使用Python正则表达式的情况下检查给定单词是否出现在加扰字符串中?

3 个答案:

答案 0 :(得分:1)

>>> from collections import Counter
... 
... 
... def solution(emblem, user_entered):
...     return not (Counter(emblem) - Counter(user_entered))
... 
>>> solution('mammoth', 'zmzmzmzaztzozh')
True
>>> solution('mammoth', 'zmzmzmzaztzoz')
False

答案 1 :(得分:0)

要检查字符串中是否包含子字符串,请使用in运算符:

substring in string

emblem in userEntered

如果找到则返回true,否则返回false

答案 2 :(得分:0)

Python为我们提供了一个内置函数find(),该函数检查字符串中是否存在子字符串,这是一行完成的。

emblem = "Mammoth"

userEntered = "zmzmzmzoztzozh"

if userEntered.find(emblem) == -1:
    print("Not Found")
else:
    print("Found")

find()函数如果找不到则返回-1,否则返回第一次出现,因此使用此函数可以解决此问题。