Menu Close

Python String find() 方法

什么是Python String find()?

Python字符串find()是Python库中可用的函数,用于从给定字符串中查找子字符串首次出现的索引。如果给定的字符串中没有指定的子字符串,则字符串find()函数将返回-1

在此Python字符串find()方法教程中,您将学习:

  • 什么是Python String find()?
  • Python字符串find()的语法
  • 具有默认值的find()方法的示例
  • 使用start参数的find()示例
  • 使用开始和结束参数的find()示例
  • find()方法的示例查找给定子字符串在字符串中的位置
  • Python字符串rfind()
  • Python字符串index()
  • 查找子字符串的总出现次数

Python字符串find()的语法

Python find()函数的基本语法如下:

string.find(substring,start,end)

find()方法的参数

Python中函数String find()的三个参数:
  • substring:要在给定字符串中搜索的子字符串。
  • start:(可选)从开始搜索子字符串的起始值。默认情况下为0。
  • end:(可选)将结束搜索子字符串的结束值。默认情况下,该值是字符串的长度。

find()方法默认值的例子

传递给Python find()方法的参数是子字符串,即您要搜索,开始和结束的字符串。默认情况下,起始值为0,终止值为字符串的长度。

在此示例中,我们将在Python中将方法find()与默认值一起使用。

find()方法将搜索子字符串,并给出该子字符串首次出现的位置。现在,如果子字符串在给定字符串中多次出现,它仍将返回第一个的索引或位置。

Example:

mystring = "我很喜欢python,学习python可以来IC知识库看看"
print("python出现的位置:", mystring.find("python"))

Output:

python出现的位置: 4

带start参数的例子

您可以搜索给定字符串中的子字符串并指定开始搜索的起始位置。start参数可以用于相同的参数。

该示例将开始位置指定为10,Python方法中的find()将从位置10开始搜索。这里,结束位置将是字符串的长度,并将从10个位置开始搜索直到字符串的结尾向前。

例:

mystring = "我很喜欢python,学习python可以来IC知识库看看"
print("python出现的位置:", mystring.find("python",10))

输出:

python出现的位置:13

带start和end参数的例子

mystring = "我很喜欢python,学习python可以来IC知识库看看"
print("python出现的位置:", mystring.find("python", 10, 20))

输出:

python出现的位置:13

Python字符串rfind

Python函数rfind()与find()函数类似,唯一的区别是rfind()为给定的子字符串提供最高索引,而find()给出最低的索引(即第一个索引)。如果子字符串不存在,则rfind()和find()都将返回-1。

示例:

mystring = "我很喜欢python,学习python可以来IC知识库看看"
print("python出现的位置:", mystring.find("python"))
print("python出现的位置:", mystring.rfind("python"))

输出:

使用find()的教程的位置: 4
使用rfind()的教程的位置: 13

Python字符串index()

Python字符串index()是一个函数,它将为您提供子字符串的位置,就像find()一样。两者之间的唯一区别是,如果字符串中不存在子字符串,则index()将引发异常,而find()将返回-1。

例子:

mystring = "我很喜欢python,学习python可以来IC知识库看看"
print("python出现的位置:", mystring.find("python"))
print("python出现的位置:", mystring.index("python"))

输出:

python出现的位置: 4
python出现的位置: 4

查找子字符串的总出现次数

示例:

my_string = "test string test, test string testing, test string test string"
startIndex = 0
count = 0
for i in range(len(my_string)):
    k = my_string.find('test', startIndex)
    if(k != -1):
        startIndex = k+1
        count += 1
        k = 0
print("test总共出现了:{} 次 ".format(count) )

Output:

test总共出现了:6 次

概要

  • Python字符串find()方法有助于查找给定字符串中子字符串首次出现的索引。如果子字符串不存在,它将返回-1。
  • 传递给Python find substring方法的参数是substring,即您要搜索,开始和结束的字符串。默认情况下,起始值为0,终止值为字符串的长度。
  • 您可以搜索给定字符串中的子字符串并指定开始搜索的起始位置。start参数可以用于相同的参数。
  • 使用start和end参数,我们将尝试限制搜索,而不是搜索整个字符串。
  • Python函数rfind()与find()函数类似,唯一的区别是rfind()为给定的子字符串提供最高索引,而find()给出最低的索引(即第一个索引)。如果子字符串不存在,则rfind()和find()都将返回-1。
  • Python字符串index()是另一个函数,它将为您提供子字符串的位置,就像find()一样。两者之间的唯一区别是,如果字符串中不存在子字符串,则index()将引发异常,而find()将返回-1。
  • 我们可以使用find()查找给定字符串中子字符串的总出现次数。
Posted in Python

发表评论

相关链接