ace*_*ner 20 python string unicode
尝试在python中使用contains时出错.
s = u"some utf8 words"
k = u"one utf8 word"
if s.contains(k):
print "contains"
Run Code Online (Sandbox Code Playgroud)
我如何实现相同的结果?
使用普通ASCII字符串的示例
s = "haha i am going home"
k = "haha"
if s.contains(k):
print "contains"
Run Code Online (Sandbox Code Playgroud)
我使用的是python 2.7.x.
frn*_*nhr 36
ascii和utf8字符串相同:
if k in s:
print "contains"
Run Code Online (Sandbox Code Playgroud)
contains()ascii或uft8字符串都没有:
>>> "strrtinggg".contains
AttributeError: 'str' object has no attribute 'contains'
Run Code Online (Sandbox Code Playgroud)
你可以使用,而不是contains为find或index:
if k.find(s) > -1:
print "contains"
Run Code Online (Sandbox Code Playgroud)
要么
try:
k.index(s)
except ValueError:
pass # ValueError: substring not found
else:
print "contains"
Run Code Online (Sandbox Code Playgroud)
但当然,in操作员是要走的路,它更优雅.
str和之间没有区别unicode.
print u"ábc" in u"some ábc"
print "abc" in "some abc"
Run Code Online (Sandbox Code Playgroud)
基本相同.
字符串没有“包含”属性。
s = "haha i am going home"
s_new = s.split(' ')
k = "haha"
if k in s_new:
print "contains"
Run Code Online (Sandbox Code Playgroud)
我想你想实现这个目标
| 归档时间: |
|
| 查看次数: |
42520 次 |
| 最近记录: |