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

news2024/10/5 22:23:22

自学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(str1[l1+1:l2])

运行程序,结果为:

13566688888

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

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

图4  邮箱地址

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

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

for value1 in file1.readlines():

    l=value1.find('@')

    print(value1[0:l].capitalize())

file1.close()

运行程序,结果为:

Gcytom

Jackeer

Mingrisoft

Mrkj_2019

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1875452.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用Endnote中英文等的实现和GB7714格式

Endnote是一款被广泛使用的文献管理软件,其是SCI(Thomson Scientific 公司)的官方软件,支持国际期刊的参考文献格式有3776 种【也可以自定义期刊引用格式】。 软件非常方便科研狗进行文献整理,写笔记,做备…

深度学习经典检测方法概述

一、深度学习经典检测方法 two-stage(两阶段):Faster-rcnn Mask-Rcnn系列 one-stage(单阶段):YOLO系列 1. one-stage 最核心的优势:速度非常快,适合做实时检测任务! 但是…

Spring简单学习

Spring简单学习 spring中的设计模式工厂模式简单工厂模式工厂方法模式 Springmvc简单学习MVC模式Spring MVC 常用组件Spring MVC 工作流程 [Spring IOC](https://juejin.cn/post/6983957368115560485#heading-3)IOC是什么使用IOCSpring提供的IOC容器Spring的IOC实现原理**Root …

第4章_USB 设备编程

文章目录 4.1 USB 学习指南4.1 USB 学习指南 4.2 USB 系统硬件框架和软件框架4.2.1 实验现象4.2.2 硬件框架4.2.3 软件框架 4.3 软件工程师眼里的 USB 电气信号4.3.1 USB 设备状态切换图4.3.2 硬件线路4.3.3 电子信号4.3.4 低速/全速信号电平4.3.5 高速信号电平4.3.6 设备连接与…

【报错记录】第一次安装VUE启动失败sh: vite: command not found

大家好,我是DX3906 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘大前端领域、真诚分享知识与智慧的小天地!🎇 问题描述:第一次使用npm create vuelatest搭建vue3.0脚手架的时候,运行npm run dev…

【数据结构(邓俊辉)学习笔记】二叉搜索树03——平衡

文章目录 1. 极端退化2. 平均高度3. 理想 适度4. 歧义 等价5. 等价变换 1. 极端退化 二叉搜索树为我们同时实现对数据集高效的静态操作以及动态操作打开了一扇新的大门。 正如我们所看到的,从策略上,BST可以视作是试图将此前的向量结构以及列表结构优…

【EI会议】2024年机械、计算机工程与材料国际会议 (MCEM 2024)

2024年机械、计算机工程与材料国际会议 (MCEM 2024) 2024 International Conference on Mechanical, Computer Engineering and Materials 【重要信息】 大会地点:广州 官网地址:http://www.ismcem.com 投稿邮箱:ismcemsub-conf.com 【注意…

云计算【第一阶段(20)】磁盘管理与文件系统 服务器硬件及RAID配置实战(三)

一、服务器硬件详解 cpu 主板 内存 硬盘 网卡 电源 raid卡 风扇 远程管理卡 1.1、硬盘尺寸 目前生产环境中主流的两种类型硬盘 3.5寸 和2.5寸硬盘 2.5寸硬盘可以通过使用硬盘托架后适用于3.5寸硬盘的服务器 但是3.5寸没法转换成2.5寸 二、RAID阵列详解 独立硬盘冗余阵…

CSF视频文件格式转换WMV格式

如果大家看过一些高校教学讲解视频的话,很可能见过这样一个难得的格式,".csf ",非常漂亮 。 用暴风影音都可以打开观看,会自动下载解码。 但是一旦我们想要利用或者上传视频的时候就麻烦了,一般网站不认这…

计算机毕业设计Python+Spark知识图谱微博预警系统 微博推荐系统 微博可视化 微博数据分析 微博大数据 微博爬虫 微博预测系统 大数据毕业设计

课题名称 基于Bert模型对微博的言论情感分析设计与实现 课题来源 课题类型 BY 指导教师 学生姓名 专 业 计算机科学与技术 学 号 开题报告内容:(调研资料的准备,设计/论文的目的、要求、思路与预期成果;…

Matplotlib绘制并列的条形图:每个类别有多个条形并排显示

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

2-19 基于matlab的薄板弯曲的算例

基于matlab的薄板弯曲的算例,利用有限元方法编制matlab程序。对二维薄板进行单元化,输出薄板结构参数及载荷,输出弯曲情况,并可视化展示。程序已调通,可直接运行。 2-19 薄板弯曲 有限元方法 薄板结构参数 - 小红书 (x…

好用的导航网站有哪些

网址导航网站是我们日常上网的一个重要工具。它们不仅可以帮助我们快速找到所需的资源和信息,还能提高我们的工作效率。以下是小编收藏的几个好用的导航网站,涵盖了办公、学习、娱乐等多个领域,分享给大家。 1. 办公人导航 办公人导航是一个…

排序算法(1)之插入排序----直接插入排序和希尔排序

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 排序之插入排序----直接插入排序和希尔排序(1) 收录于专栏【数据结构初阶】 本专栏旨在分享学习数据结构学习的一点学习笔记,欢迎大家在评论区交流讨…

【动态规划】279.完全平方数

279. 完全平方数 难度:中等 力扣地址:https://leetcode.cn/problems/perfect-squares/ 没有刷过的小伙伴们请一定要先去刷一次,然后如果感兴趣的话再阅读以下内容,便于交流 ~ 多谢支持 ~ 问题描述 给你一个整数 n ,返…

sql server启动、连接 与 navicat连接sql server

一、sql server 启动 1.搜索cmd->以管理员身份运行 2.输入以下命令 net start mssqlserver 3.服务器启动成功 二、sql server连接 1.打开ssms,输入,连接 2.右键,属性 3.连接,勾选允许远程连接到此服务器 三、navicat连接sq…

论文浅尝 | 通过基于动态文档知识图谱增强的大语言模型故事理解

笔记整理:许方舟,天津大学硕士,研究方向为知识图谱 链接:https://ojs.aaai.org/index.php/AAAI/article/view/21286 1. 动机 基于大型 Transformer 的语言模型在需要叙事理解的各种任务上取得了令人难以置信的成功,包括…

核方法总结(三)———核主成分(kernel PCA)学习笔记

一、核主成分 1.1 和PCA的区别 PCA (主成分分析)对应一个线性高斯模型(参考书的第二章),其基本假设是数据由一个符合正态分布的隐变量通过一个线性映射得到,因此可很好描述符合高斯分布的数据。然而在很多实…

基于GWO灰狼优化的多目标优化算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1灰狼优化算法原理 4.2 多目标优化问题(MOP)的帕累托最优解 4.3 基于GWO的多目标优化算法 5.完整程序 1.程序功能描述 基于GWO灰狼优化的多目标优化算法matlab仿真,目标函数…

java基于ssm+jsp 咨询交流论坛

1 管理员登录 管理员输入个人的用户名、密码登录系统,这时候系统的数据库就会在进行查找相关的信息,如果我们输入的用户名、密码不正确,数据库就会提示出错误的信息提示,同时会提示管理员重新输入自己的用户名、密码,…