尝试在python中使用contains时出错。
s = u"some utf8 words"
k = u"one utf8 word"
if s.contains(k):
print "contains"
我如何获得相同的结果?
普通ASCII字符串
的示例s = "haha i am going home"
k = "haha"
if s.contains(k):
print "contains"
我正在使用python 2.7.x
答案 0 :(得分:28)
ascii和utf8字符串相同:
if k in s:
print "contains"
ascii或uft8字符串上没有contains()
:
>>> "strrtinggg".contains
AttributeError: 'str' object has no attribute 'contains'
您可以使用contains
或find
代替index
而不是if k.find(s) > -1:
print "contains"
:
try:
k.index(s)
except ValueError:
pass # ValueError: substring not found
else:
print "contains"
或
in
但当然,{{1}}运算符是可行的方式,它更优雅。
答案 1 :(得分:8)
str
和unicode
之间没有区别。
print u"ábc" in u"some ábc"
print "abc" in "some abc"
基本相同。
答案 2 :(得分:5)
字符串没有"包含"属性。
s = "haha i am going home"
s_new = s.split(' ')
k = "haha"
if k in s_new:
print "contains"
我想你想实现这个
答案 3 :(得分:0)
string = "Little bear likes beer"
if "beer" in string:
print("Little bear likes beer")
else:
print("Little bear is driving")