Pythonでcontainを使用しようとするとエラーが発生します。
s = u"some utf8 words"
k = u"one utf8 Word"
if s.contains(k):
print "contains"
同じ結果を得るにはどうすればよいですか?
通常のASCII string
s = "haha i am going home"
k = "haha"
if s.contains(k):
print "contains"
私はpython 2.7.xを使用しています
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
演算子を使用する方法があり、はるかにエレガントです。
str
とunicode
の間に違いはありません。
print u"ábc" in u"some ábc"
print "abc" in "some abc"
基本的に同じです。
文字列には「含む」属性はありません。
s = "haha i am going home"
s_new = s.split(' ')
k = "haha"
if k in s_new:
print "contains"
これを達成したいと思う