Python中的find()函数:用法和示例

在其中, find()函数用以于字符串里寻觅子字符串, 且返回子字符串首次出现的索引位置。要是没找到子字符串, 那就返回 -1。find()函数属于字符串对象的方法, 所以仅能在字符串之上进行调用。

find()函数的语法

复制代码
str.find(sub, start, end)

示例

让我们通过几个示例来演示 find() 函数的用法。

示例 1:查找子字符串在字符串中的位置

复制代码
# 定义字符串
my_string = "Hello, world!"
# 查找子字符串 "world" 的位置
index = my_string.find("world")
print("子字符串 'world' 的位置:", index)

运行结果:

复制代码
子字符串 'world' 的位置: 7

如下图示, 在此示例之中, find()函数返回了子字符串"world"于"Hello, world!"里的索引, 也就是7。借助find()函数来查找子字符串在字符串里的位置, 所返回的索引乃是从0起始的索引位置。

假如字符串存在多个子字符串"world", 那么 find() 函数会返回首个出现的子字符串的索引, 就是说 将返回最靠前的那个"world" 的位置。

要是打算去寻觅全部现存的地方, 能够运用循环来多次施行调用find()函数, 并且于每次调用而后去更新搜索的起始之处。

下来是一个示例代码。它演示了怎样去找字符串里所有出现 "world" 的位置。

复制代码
# 定义字符串
my_string = "Hello, world! Hello, world! Hello, world!"
# 初始化搜索起始位置
start_index = 0
# 找到所有出现 "world" 的位置
while True:
    # 调用 find() 函数查找子字符串
    index = my_string.find("world", start_index)
    
    # 如果找不到子字符串,则退出循环
    if index == -1:
        break
    
    # 打印找到的位置
    print("子字符串 'world' 的位置:", index)
    
    # 更新起始位置,以便下一次搜索从上次找到的位置之后开始
    start_index = index + 1

这段代码会输出每一个"world" 的所在位置, 在循环之中, 我们持续更新起始位置,为的是在下一回调用 find() 函数之际, 从上个"world" 之后起展开搜索, 像这样, 找出了三个位置。

示例 2:查找不存在的子字符串

复制代码
# 定义字符串
my_string = "Hello, world!"
# 查找子字符串 "Python"
index = my_string.find("Python")
print("子字符串 'Python' 的位置:", index)

运行结果:

复制代码
子字符串 'Python' 的位置: -1

在这个示例里头, 鉴于字符串当中不存在子字符串"", 故而 find() 函数返回 -1, 像下面所展示的这样。

示例 3:指定搜索范围

复制代码
# 定义字符串
my_string = "Python is easy to learn. Python is powerful."
# 在指定范围内查找子字符串 "Python"
index = my_string.find("Python", 10, 35)
print("子字符串 'Python' 的位置:", index)

运行结果:

复制代码
子字符串 'Python' 的位置: 25

此例之中, 有两个''字符现身, find()函数于索引10至35的范围之内寻觅子字符串"", 且返回首次出现的索引, 便是25。

总结

能够在字符串儿里头查找子字符串的find()函数属于一种贼有用的字符串手段, 借助给出起始以及结束位置参数, 我们能够限定搜索的范畴若子字符串不存在, 那么该函数将会返回-1。

相关推荐
学也学不废12 小时前
论文阅读:Advancing Semantic Textual Similarity Modeling
python
风早爽太13 小时前
Python 开发笔记:配置生产环境中 Celery Worker 的独立进程启动方式
python·fastapi
打工仔折腾 AI13 小时前
飞牛OS上用Docker Compose部署ExerciseDiary运动记录并配置远程访问
运维·人工智能·后端·python·docker·容器·ai agent 实战
小蒜学长13 小时前
基于Python的动物救助站管理系统的设计与实现(代码+数据库+LW)
数据库·后端·python·django·动物救助
小小张说故事13 小时前
Python 中 __new__ 和 __init__ 到底谁才是构造函数?一文讲透区别与 5 个坑
后端·python
言乐613 小时前
Python实现关税自动计算模型
开发语言·python·django·virtualenv·pygame
伞伞悦读13 小时前
从零打通 Hermes Agent:Windows + WSL2 + Clash 全链路安装、认证与首次实战
python·语言模型
happylifetree14 小时前
Python17:核心语法-数据存储与运算-输入与输出
python
梅雅达编程笔记14 小时前
04-Python CSV数据保存与翻页抓取
开发语言·爬虫·python·pandas·数据采集·csv
估值探索者14 小时前
【Python量化策略实战 #04】Donchian 通道假突破太多?用 ATR 阈值过滤跑通真实突破信号
开发语言·python·接口·api接口·数据api接口·股票数据api接口