Python程式獲取字串中子字串的索引


在Python中,我們可以使用find()index()方法來獲取字串中子字串第一次出現的索引。Python提供了各種字串操作函式來修改和訪問文字資料。在本文中,我們將編寫一個程式來獲取字串中子字串的索引。

方法一:使用find()方法

find方法搜尋作為函式引數傳遞的特定子字串,並返回子字串的起始索引。如果在字串中找不到子字串,則find()方法返回-1。

呼叫find()方法時,它接受3個引數:

  • 子字串 - 您在字串中搜索的子字串

  • 起始索引(可選) - 您希望find()方法開始搜尋的索引。其預設值為0,即字串的起始索引。

  • 結束索引(可選) - 您希望find()方法繼續搜尋子字串的索引。其預設值為字串的長度,即字串的結束索引。

語法

string.find(substring, start, end)

字串是您想要查詢子字串索引的字串。作為引數傳遞的起始索引和結束索引是可選的。當不作為引數傳遞時,它將採用預設值。

示例

如果我們想在字串“Hello, World!”中查詢子字串“World”的索引,我們可以使用find()方法如下:

string = "Hello, World!"
substring = "World"
index = string.find(substring)
print(index)

輸出

7

方法二:使用index()方法

index()方法返回字串中子字串第一次出現的索引。如果找不到子字串,它將引發ValueError

index方法也接受三個引數,類似於find()方法:

  • 子字串 - 您在字串中搜索的子字串

  • 起始索引(可選) - 您希望find()方法開始搜尋的索引。其預設值為0,即字串的起始索引。

  • 結束索引(可選) - 您希望find()方法繼續搜尋子字串的索引。其預設值為字串的長度,即字串的結束索引。

語法

string.index(substring, start, end)

字串是您想要查詢子字串索引的字串。作為引數傳遞的起始索引和結束索引是可選的。當不作為引數傳遞時,它將採用預設值。

示例

如果我們想在字串“Welcome to Tutorial Point”中查詢子字串“Point”的索引,我們可以使用index()方法如下:

string = "Welcome to Tutorial Point"
substring = "Point"
index = string.index(substring)
print(index)

輸出

20

錯誤處理

當字串中找不到子字串時,index()方法會引發ValueError,而find()方法會返回-1。為了處理index()方法中的此錯誤並顯示輸出“子字串未找到”,我們可以使用try-except塊來處理此錯誤。

示例

如果我們想在字串“Welcome to Tutorials Point”中查詢子字串“Python”的索引,則find()方法將返回-1,而index()方法將引發ValueError,因為子字串不在字串中。以下是我們可以使用try-except塊來處理index函式錯誤的方法。

string = "Welcome to Tutorials Point"
substring = "Python"
try:
   index = string.index(substring)
except ValueError:
   print("Substring not found")

輸出

Substring not found

當字串中找不到子字串時,find()方法只會返回-1。因此,我們不需要處理find()方法中的任何錯誤。

示例

string = "Welcome to Tutorials Point"
substring = "Python"
index = string.find(substring)
print(index)

輸出

-1

結論

在Python中,我們可以使用find()和index()方法獲取子字串第一次出現的索引。這兩種方法都將子字串、起始索引(可選)和結束索引(可選)作為引數。當找不到子字串時,find()方法返回-1,而index()方法會引發ValueError。我們可以使用Python中的try-except塊來處理ValueError。

更新於:2023年4月17日

2K+ 瀏覽量

啟動您的職業生涯

完成課程後獲得認證

開始學習
廣告
© . All rights reserved.