Python中字串的find()方法與index()方法
阿新 • • 發佈:2018-12-21
find()方法
語法
str1.find(str2, beg=0, end=len(string))
作用
檢測 str2 是否包含在字串str1中,如果指定範圍 beg 和 end ,則檢查是否包含在指定範圍內,如果包含返回開始的索引值,否則返回-1。
index()方法
語法
str1.index(str2, beg=0, end=len(str1))
作用
檢測 str2 是否包含在字串str1中,如果指定範圍 beg 和 end ,則檢查是否包含在指定範圍內,如果包含返回開始的索引值,否則會出現異常報錯。
兩個方法的對比
1、當在字串str1中的索引範圍內包含了字串str2時,find()方法與index()方法都會返回字串str2在字串str1中的第一個索引位置; 2、當在字串str1中的索引範圍內不包含字串str2時,find()方法會返回一個-1值,而index()方法則會報錯,錯誤型別為:ValueError: substring not found。
示例:
print('aabbccabc'.find('ab')) # 從下標0開始查詢
>> 1
print('aabbccabc'.find('ab', 3, len('aabbccabc'))) # 從下標3開始查詢
>> 6
print('aabbccabc'.find('abd'))
>> -1
print('aabbccabc'.index('ab')) # 從下標0開始查詢
>> 1
print('aabbccabc'.index('ab', 3, len('aabbccabc'))) # 從下標3開始查詢
>> 6
print('aabbccabc'.index('abd'))
>> ValueError: substring not found
總結:在使用index()方法時,要注意字串str1中是否包含字串str2,如果在不確定時,建議使用find()方法。