跳到主要内容

Python String index() 方法

index() 方法返回字符串中子字符串的索引(如果找到)。如果未找到子字符串,它会引发异常。

示例

text = 'Python is fun'

# 查找 'is' 的索引
result = text.index('is')
print(result)

# 输出: 7

index() 语法

它的语法是:

str.index(sub[, start[, end]] )

index() 参数

index() 方法接受三个参数:

  • sub - 要在字符串 str 中搜索的子字符串。
  • startend(可选)- 子字符串在 str[start:end] 中搜索

index() 返回值

  • 如果子字符串存在于字符串中,它返回字符串中找到子字符串的最低索引。
  • 如果子字符串不存在于字符串中,它会引发一个 ValueError 异常。

index() 方法类似于 字符串的 find() 方法

唯一的区别是 find() 方法在未找到子字符串时返回 -1,而 index() 会抛出异常。

示例 1:仅带有子字符串参数的 index()

sentence = 'Python programming is fun.'

result = sentence.index('is fun')
print("子字符串 'is fun':", result)

result = sentence.index('Java')
print("子字符串 'Java':", result)

输出

子字符串 'is fun': 19

Traceback (most recent call last):
File "<string>", line 6, in
result = sentence.index('Java')
ValueError: 子字符串未找到

注意: Python 中的索引从 0 开始,而不是 1。所以出现的位置是 19 而不是 20

示例 2:带有 start 和 end 参数的 index()

sentence = 'Python programming is fun.'

# 子字符串在 'gramming is fun.' 中搜索
print(sentence.index('ing', 10))

# 子字符串在 'gramming is ' 中搜索
print(sentence.index('g is', 10, -4))

# 子字符串在 'programming' 中搜索
print(sentence.index('fun', 7, 18))

输出

15
17
Traceback (most recent call last):
File "<string>", line 10, in
print(sentence.index('fun', 7, 18))
ValueError: 子字符串未找到