find()方法——字符串首次出现的索引位置

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

语法参考

find()方法实现查询一个字符串在其本身字符串对象中首次出现的索引位置,如起始位置从11到结束位置17之间子字符串出现的位置,如图1所示。如果没有检索到该字符串,则返回-1。

图1 find()方法示意图

find()方法的语法格式如下:

str.find(sub,start,end)

参数说明:

l str:表示原字符串。

l sub:表示要检索的子字符串。

l start:可选参数,表示检索范围的起始位置的索引,如果不指定,则从头开始检索。

l end :可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾。

例如,子字符串o在字符串www.mingrisoft.com起始位置从11到结束位置17之间首次出现的位置,如图2所示。

图2 字符串首次出现的位置

快用锦囊

锦囊1 检索邮箱地址中"@"首次出现中的位置

定义一个字符串,然后应用find()方法检索邮箱地址中首次出现"@"符号的位置索引,代码如下:

str1 = '790129881@qq.com'

print('@首次出现的位置为:',str1.find('@'))

运行程序,输出结果为:

@首次出现的位置为: 9

如果邮箱地址中没有"@",则返回值为-1,此时可以判断邮箱地址不正确并提示用户输入正确的邮箱地址。

说明:Python的字符串对象还提供了rfind()方法,其作用与find()方法类似,只是从字符串右边开始查找。

锦囊2 提取括号内数据

日常处理数据过程中,有时需要提取括号内的数据,例如图3所示括号内的手机号。

图3 提取括号内的手机号

下面使用find()方法查找括号所在位置,然后使用切片方法提取括号内的手机号,代码如下:

str1 = '张三(13566688888)'

l1=str1.find('(')

l2=str1.find(')')

print(str1l1+1:l2)

运行程序,结果为:

13566688888

锦囊3 从邮箱地址提取ID并将首字母大写

一般情况下,邮箱地址都是由ID和服务器地址组成,那么通过邮箱地址就可以提取到ID或服务器地址。例如,提取ID并将首字母大写,效果如图4所示。

图4 邮箱地址

下面使用find()方法查找字符串中"@"的位置,然后使用切片方法提取ID并通过capitalize()方法设置首字母大写,代码如下:

file1 = open('./tmp/email.txt', 'r')

for value1 infile1.readlines():

l=value1.find('@')

print(value10:l.capitalize())

file1.close()

运行程序,结果为:

Gcytom

Jackeer

Mingrisoft

Mrkj_2019

相关推荐
JeffongTan3 小时前
在LWC中镶嵌VF Page获取用户IP
前端·javascript·salesforce
2601_962293244 小时前
Python自动化统计团队工作量并生成可视化仪表盘的脚本方案【指导】
python·数据分析·自动化·可视化·仪表盘
点心的游戏开发世界4 小时前
GDScript 入门笔记(十一):Lambda 与匿名函数
开发语言·笔记·游戏引擎·godot
phltxy4 小时前
C语言操作符详解
java·c语言·算法
2601_962293795 小时前
OCRmyPDF批处理脚本:使用Python自动化复杂OCR任务
python·自动化·批处理脚本·ocrmypdf·ocr任务
步行cgn5 小时前
@Configuration 详解:Spring 配置类的核心注解
java·后端·spring
sunshine22 girl5 小时前
Java学习一 环境配置2 安装和基本使用Idea
java·学习·intellij-idea
袋鼠云数栈6 小时前
实时湖仓如何真正做到“数据够新”?
大数据·数据库·人工智能·数据治理
陆枫Larry6 小时前
Astro 是什么
前端
ACP广源盛139246256736 小时前
M6/M5 Pro Mac mini 端侧 AI 落地@ACP#YLB3116 中端多盘存储扩展在 AI 服务中的机会与应用场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos