unicode字符串等效于contains

时间:2015-04-05 11:31:07

标签: python string unicode

尝试在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

4 个答案:

答案 0 :(得分:28)

ascii和utf8字符串相同:

if k in s:
    print "contains" 

ascii或uft8字符串上没有contains()

>>> "strrtinggg".contains
AttributeError: 'str' object has no attribute 'contains'

您可以使用containsfind代替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)

strunicode之间没有区别。

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")