Python 等效于包含的 unicode 字符串
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/29456800/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
unicode string equivalent of contain
提问by aceminer
I have an error when trying to use contain in python.
尝试在 python 中使用包含时出错。
s = u"some utf8 words"
k = u"one utf8 word"
if s.contains(k):
print "contains"
How do i achieve the same result?
我如何达到相同的结果?
Example with normal ASCII string
带有普通 ASCII 字符串的示例
s = "haha i am going home"
k = "haha"
if s.contains(k):
print "contains"
I am using python 2.7.x
我正在使用 python 2.7.x
采纳答案by frnhr
The same for ascii and utf8 strings:
ascii 和 utf8 字符串相同:
if k in s:
print "contains"
There is no contains()
on either ascii or uft8 strings:
contains()
ascii 或 uft8 字符串都没有:
>>> "strrtinggg".contains
AttributeError: 'str' object has no attribute 'contains'
What you can use instead of contains
is find
or index
:
您可以使用的contains
是find
or index
:
if k.find(s) > -1:
print "contains"
or
或者
try:
k.index(s)
except ValueError:
pass # ValueError: substring not found
else:
print "contains"
But of course, the in
operator is the way to go, it's much more elegant.
但是当然,in
运算符是要走的路,它要优雅得多。
回答by Daniel
There is no difference between str
and unicode
.
str
和之间没有区别unicode
。
print u"ábc" in u"some ábc"
print "abc" in "some abc"
is basically the same.
基本上是一样的。
回答by Ajay
Strings don't have "contain" attribute.
字符串没有“包含”属性。
s = "haha i am going home"
s_new = s.split(' ')
k = "haha"
if k in s_new:
print "contains"
I guess you want to achieve this
我猜你想实现这一目标
回答by Harvey
Testing of string existance in string
字符串中字符串存在的测试
string = "Little bear likes beer"
if "beer" in string:
print("Little bear likes beer")
else:
print("Little bear is driving")