跳到主要内容

Python String find() 方法

find() 方法返回子字符串第一次出现的索引(如果找到)。如果未找到,则返回 -1

示例

message = 'Python is a fun programming language'

# 检查 'fun' 的索引
print(message.find('fun'))

# 输出: 12

find() 语法

find() 方法的语法是:

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

find() 参数

find() 方法最多接受三个参数:

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

find() 返回值

find() 方法返回一个整数值:

  • 如果子字符串存在于字符串中,它返回子字符串第一次出现的索引。
  • 如果子字符串不存在于字符串中,它返回 -1

find() 方法的工作原理

find() 和 rfind() 在 Python 中如何工作?

示例 1:find() 没有 start 和 end 参数

quote = 'Let it be, let it be, let it be'

# 第一次出现的 'let it'(区分大小写)
result = quote.find('let it')
print("子字符串 'let it':", result)

# 如果找不到子字符串,find 返回 -1
result = quote.find('small')
print("子字符串 'small ':", result)

# 如何使用 find()
if (quote.find('be,') != -1):
print("包含子字符串 'be,'")
else:
print("不包含子字符串")

输出

子字符串 'let it': 11
子字符串 'small ': -1
包含子字符串 'be,'

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

quote = 'Do small things with great love'

# 在 'hings with great love' 中搜索子字符串
print(quote.find('small things', 10))

# 在 ' small things with great love' 中搜索子字符串
print(quote.find('small things', 2))

# 在 'hings with great lov' 中搜索子字符串
print(quote.find('o small ', 10, -1))

# 在 'll things with' 中搜索子字符串
print(quote.find('things ', 6, 20))

输出

-1
3
-1
9