原文链接:http://www.juzicode.com/archives/3902
1、in关键字判断子串是否在字符串中
使用in关键字可以用来判断子串是否在字符串中,如果在表达式的值True,反之为False:
#juzicode.com/vx:桔子code
a = 'juzi'
b = 'www.juzicode.com'
c = '桔子'
if a in b:
print('子串 %s 在 字符串 %s 中'%(a,b))
else:
print('子串 %s 不在 字符串 %s 中'%(a,b))
if c in b:
print('子串 %s 在 字符串 %s 中'%(c,b))
else:
print('子串 %s 不在 字符串 %s 中'%(c,b))
==========运行结果:
子串 juzi 在 字符串 www.juzicode.com 中
子串 桔子 不在 字符串 www.juzicode.com 中
2、index()方法返回子串位置
字符串的index方法可以用来返回子串在字符串中的位置,如果不在字符串中则会抛异常:
#juzicode.com/vx:桔子code
a = 'juzi'
b = 'www.juzicode.com'
c = '桔子'
posa=b.index(a)
print('子串 %s 在 字符串 %s 中的位置: %d'%(a,b,posa))
posc=b.index(c)
print('子串 %s 在 字符串 %s 中的位置: %d'%(c,b,posc))
子串 juzi 在 字符串 www.juzicode.com 中的位置: 4
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-7-7984489f8c22> in <module>
5 posa=b.index(a)
6 print('子串 %s 在 字符串 %s 中的位置: %d'%(a,b,posa)) ---->
7 posc=b.index(c)
8 print('子串 %s 在 字符串 %s 中的位置: %d'%(c,b,posc)) ValueError: substring not found
因为子串不在字符串中,使用字符串的index()会抛异常,为了避免抛异常,可以先使用in关键字判断子串是否在字符串中,如果在字符串中再提取位置:
#juzicode.com/vx:桔子code
a = 'juzi'
b = 'www.juzicode.com'
c = '桔子'
if a in b:
posa=b.index(a)
print('子串 %s 在 字符串 %s 中的位置: %d'%(a,b,posa))
else:
print('子串 %s 不在 字符串 %s 中'%(a,b))
if c in b:
posc=b.index(c)
print('子串 %s 在 字符串 %s 中的位置: %d'%(c,b,posc))
else:
print('子串 %s 不在 字符串 %s 中'%(c,b))
子串 juzi 在 字符串 www.juzicode.com 中的位置: 4
子串 桔子 不在 字符串 www.juzicode.com 中
3、find()方法返回子串位置
字符串的find()方法可以返回子串在字符串中的位置,如果不在字符串中则返回-1:
#juzicode.com/vx:桔子code
a = 'juzi'
b = 'www.juzicode.com'
c = '桔子'
posa=b.find(a)
print('子串 %s 在 字符串 %s 中的位置: %d'%(a,b,posa))
posc=b.find(c)
print('子串 %s 在 字符串 %s 中的位置: %d'%(c,b,posc))
==========运行结果:
子串 juzi 在 字符串 www.juzicode.com 中的位置: 4
子串 桔子 在 字符串 www.juzicode.com 中的位置: -1