1. 程式人生 > >Python中字串的find()方法與index()方法

Python中字串的find()方法與index()方法

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()方法。