第一种方法:in
string = 'helloworld'
if 'world' in string:
print 'Exist'
else:
print 'Not exist'
第二种方法:find
string = 'helloworld'
if string.find(’world‘) == 5: #5的意思是world字符从那个序开始,因为w位于第六个,及序为5,所以判断5
print 'Exist'
else:
print 'Not exist'
第三种方法:index,此方法与find作用类似,也是找到字符起始的序号
if string.index(’world‘) > -1: #因为-1的意思代表没有找到字符,所以判断>-1就代表能找到
print 'Exist'
如果没找到,程序会抛出异常
Python判断一个字符串是否包含子串的几种方法
1.使用成员操作符 in
>>> s='nihao,shijie'
>>> t='nihao'
>>> result = t in s
>>> print result
True
2.使用string模块的find()/rfind()方法
>>> import string
>>> s='nihao,shijie'
>>> t='nihao'
>>> result = string.find(s,t)!=-1
>>> print result
True
>>> result = string.rfind(s,t)!=-1
>>> print result
True
3.使用string模块的index()/rindex()方法
index()/rindex()方法跟find()/rfind()方法一样,只不过找不到子字符串的时候会报一个ValueError异常。
import string
def find_string(s,t):
try:
string.index(s,t)
return True
except(ValueError):
return False
s='nihao,shijie'
t='nihao'
result = find_string(s,t)
print result #True
4.使用字符串对象的find()/rfind()、index()/rindex()和count()方法
>>> s='nihao,shijie'
>>> t='nihao'
>>> result = s.find(t)>=0
>>> print result
True
>>> result=s.count(t)>0
>>> print result
True
>>> result=s.index(t)>=0
>>> print result
True