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+ 浏览量

启动您的职业生涯

完成课程后获得认证

开始学习
广告