python str.find 函数使用教程

  • Post category:Python

Python中的字符串类型str提供了多种方便快捷的操作函数,str.find()函数就是其中一种。str.find()函数可以用来查找一个字符串在另一个字符串中出现的位置,下面是关于str.find()函数的详细使用教程:

语法

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

其中,str为被查找的字符串,sub为要查找的子字符串,start和end可选,表示在被查找的字符串中查找子字符串的起始和终止位置,若不指定,则默认在整个被查找的字符串中查找。

返回值

如果找到,则返回子字符串在被查找字符串中的第一个字符位置(索引从0开始),如果没有找到,则返回-1。

功能说明

str.find()函数会从左向右在被查找的字符串中查找子字符串,找到第一个匹配的子字符串后就停止查找。

示例1

下面是一个简单的示例,演示如何使用str.find()函数查找字符串中是否包含指定子字符串,并获取其位置:

# 演示str.find()函数的基本使用
str = "Hello World!"
sub_str = "World"
position = str.find(sub_str)
if position != -1:
    print(f"找到子字符串{sub_str}在被查找字符串中出现的位置是{position}")
else:
    print(f"没有找到子字符串{sub_str}")

上述代码中,我们首先定义了一个字符串str,接着定义子字符串sub_str,然后使用str.find()函数查找sub_str在str中出现的位置,如果找到了,则打印出其在str中第一次出现的位置(索引从0开始),如果没找到,则打印出“没有找到子字符串{sub_str}”,程序的输出结果是:

找到子字符串World在被查找字符串中出现的位置是6

示例2

下面是另一个示例,演示如何使用str.find()函数在一段文本中查找所有指定的子字符串,并输出其位置:

# 演示如何使用str.find()函数查找所有的指定子字符串
text = "In Python, the sky is blue and the grass is green."
sub_str = "is"
start = 0
positions = []
while True:
    position = text.find(sub_str, start)
    if position == -1:
        break  # 如果没有找到指定的子字符串,则退出循环
    positions.append(position)
    start = position + 1
print(f"查找到子字符串{sub_str}在以下位置:{positions}")

上述代码中,我们首先定义了一个文本字符串text和一个子字符串sub_str,然后使用str.find()函数和while循环来查找text中出现的所有sub_str,并将其位置逐个添加到列表中。程序的输出结果是:

查找到子字符串is在以下位置:[3, 16, 23, 38]

如果不使用循环来查找text中出现的所有sub_str,则str.find()函数只能找到第一个匹配的sub_str,而忽略其它出现的sub_str。