ValueError: substring not found
在python的编程过程中,若是使用字符串内置的方法index()来查找子串第一次出现的索引位置时,python抛出ValueError,并提示substring not found,那么意思就是子串不在调用对象之中,为了解决这个,可以使用if判断语句,或try...except语句来完成。
if判断方法
该方法的基本思路就是先判断子串是否存在于字符串中,如果存在,则调用index()方法,如果不存在,则不调用:
>>> string = "笨鸟工具,x1y1z1.com"
>>> if '1' in string:
... print(string.index('1'))
...
6
try...except方法
try...except语句用来捕获异常,并处理异常,可以让程序在抛出异常之后,继续执行:
#-*- coding:utf-8 -*-
def sub_index(arg1,arg2):
try:
arg1_index = arg2.index(arg1)
print(arg1_index)
except ValueError as err:
print(arg1+"不存在于字符串:"+arg2)
string = "笨鸟工具,x1y1z1.com"
sub_string = "2"
sub_index(sub_string,string)
运行python文件,得到输出:
2不存在于字符串:笨鸟工具,x1y1z1.com