Python find()函数使用详解

news/2024/10/18 5:59:02/

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:小白零基础《Python入门到精通》

find

  • 1、指定检索位置
  • 2、参数为负数
  • 3、超出范围
  • 3、find()和index()的区别?
  • 4、find()和rfind()的区别?

find() 可以「检测」字符串中是否「包含指定字符串」

语法

string.find( str, start, end)

参数

  • str :(必选)指定需要检测的字符串
  • start :(可选)开始索引,默认为0 start = 0
  • end :(可选)结束索引,默认为字符串的长度 end = len(string)

返回值

  • 如果「包含」字符串,就返回字符串的索引
  • 如果「不包含」字符串,就返回 -1

实例:检测字符串 ‘hello world’ 中是否包含字符串 ‘e’

str1 = 'hello world'
print(str1.find('e'))

输出:

1

1、指定检索位置

只给 start ,不给 end ,默认搜索到字符串的「末尾」,搜索范围是 [start, 末尾]

比如从索引3开始,到末尾结束,检测字符串 ‘e’ 是否存在

str1 = 'hello hello'
print(str1.find('e', 3))

输出:

7

从结果可以看出,‘e’ 存在,并返回了 ‘e’ 的索引位置。

同时给 start end ,搜索范围含头不含尾 [start, end)

比如从索引3开始,到索引7结束,检测字符串 ‘e’ 是否存在

str1 = 'hello hello'
print(str1.find('e', 3, 7))
print(str1.find('e', 3, 8))

输出:

-1
7

从结果可以看出,‘e’ 的索引是7,当end为7时,因为搜索「含头不含尾」,所以没找到,就返回了 -1。


2、参数为负数

start end 可以为「负数」

从右边数第4个开始,到末尾结束,检测 ‘e’ 是否存在

str1 = 'hello hello'
print(str1.find('e', -4))

输出:

7

从右边数第4个开始,到从右边数第3个结束,检测 ‘e’ 是否存在

str1 = 'hello hello'
print(str1.find('e', -4, -3))
print(str1.find('e', -4, -4))

输出:

7
-1

3、超出范围

如果搜索的索引「超过」了字符串的「长度」,就会返回 -1,而不是报错。

即使搜索的子字符串长度超过了字符串的长度也不会报错。

str1 = 'hello'
print(str1.find('e', 11))
print(str1.find('hello world'))

输出:

-1
-1

3、find()和index()的区别?

find() index() 都能检测字符串是否存在,但如果找不到值, find() 会返回-1,而 index() 会报错 ValueError: substring not found

str1 = 'hello hello'
print(str1.find('a'))
print(str1.index('a'))

输出:

在这里插入图片描述

4、find()和rfind()的区别?

find() rfind() 都可以检测字符串是否存在,不同的是, find() 「左侧」开始查找,而 rfind() 「右侧」开始查找。

str1 = 'hello hello'
print(str1.find('e'))
print(str1.rfind('e'))

输出:

1
7

http://www.ppmy.cn/news/733556.html

相关文章

python安装失败0x80070570_固态硬盘装win7出现错误代码0x80070570怎么办

‍‍ 很多时候电脑遇死机蓝屏等问题后,可能会选择重装系统来解决。可是有番茄花园win7用户使用固态硬盘用u盘安装的方式安装系统时却出现了错误代码0x80070570,并提示“window无法安装所需文件,文件可能损坏或丢失”,这该怎么办呢…

计算机用固态硬盘无法启动不了,新固态硬盘装完系统无法进入解决教程

如果您的电脑因为更换了新固态硬盘无法启动,那么则多是由于硬盘分区和 Bios 引导模式不正确导致,您可以通过以下方法来快速解决重装后的系统无法正常进入的问题,以下是详细内容。 1、进入 Windows PE 系统中,检查自己的电脑硬盘分…

台式计算机加固态硬盘,台式机添加固态硬盘教程_台式主机固态硬盘怎么安装-win7之家...

固态硬盘是用固态电子存储芯片阵列制成的硬盘,也是电脑中比较常见的内存硬件,有些用户在使用电脑时候,由于内存不足导致系统运行较卡的情况,往往会选择添加固态硬盘来解决,那么台式主机固态硬盘怎么安装呢?…

固态硬盘安装win7系统问题。

可能出现:安装程序无法创建新的系统分区 出现这个错误后, 1.可以先尝试把固态硬盘插在硬盘的第一个硬盘口上,然后安装系统时拔掉U盘刷新再点击安装。 2.可以尝试在PE下直接安装系统。 如果上两个方法都不行,那么使用下面的方法。 …

2023年7月8日(星期六):骑行小空山

2023年7月8日(星期六):骑行小空山,早8:30到9:00, 昆明氧气厂门囗红绿灯下(学府路和普吉路交叉路囗),9:30点准时出发 【因迟到者,骑行速度快者,可自行追赶偶遇。】 偶遇地点: 昆明氧…

固态硬盘装win7系统(win8、win10基本同理唯一不同就是程序用的安装镜像不同)

一、简述 最近给我弟装了个系统,然后自己把自己的电脑升级了一下(加了一根内存条和一块固态)把系统装在固态上,然后帮忙把我阿姨2009年买的电脑也升级一下【装完这个2009年买的电脑还是蛮有成就感的】。之前装过五六次系统&#…

win7安装nvme固态硬盘win10专业版

很多用户发现在现在较新的电脑上,如果使用的是nvme硬盘那么大概率在分区步骤无法识别到硬盘,这是由于Win7系统中没有包含Nvme固态硬盘驱动导致,同时安装Win7需要使用MBR方式进行安装,所以需要设围起BIOS,下面小编和大家…

固态硬盘安装Win7双系统

在固态硬盘里安装双系统。最初希望能从原来硬盘,克隆一份原XP系统,但没有成功。所以保留该系统而新建一个Win7 64X分区。 1.使用Win7控制面板--管理工具--计算机管理中的“磁盘管理”,从空闲较多的分区D中划分60G空间。右击D分区&#xff0c…