Python 从入门到实战14(字符串相关操作)

news2025/4/22 2:53:03

        我们的目标是:通过这一套资料学习下来,通过熟练掌握python基础,然后结合经典实例、实践相结合,使我们完全掌握python,并做到独立完成项目开发的能力。

      上篇文章我们通过举例学习了字符串进行简单说明。今天继续讨论字符串相关的操作。

字符串的处理在实际的工作中经常会用到,需要熟练掌握才行。

1、字符串的截取

字符串也属于序列,可以进行切片操作。

切片的语法:   str_name[start:end:step]

参数说明:     str_name ----------表示要截取的字符串

               Start    -----------要截取的字符串的第一个字符索引,不指定的话默认为0

               End    -----------要截取的字符串最后一个字符索引,不指定则默认全部

               Step    ------------表示切片的步长,默认为1

举例说明:

str1 = "我爱祖国!"
str2 = 'I am Dewi,'
str_add = str2 + str1
print(str_add[0])#取第一个字符
print(str_add[1])#取第二个字符
print(str_add[2:10:2])#取第3个到第10,步长为2
print(str_add[2:10])#取第3个到第10

输出结果:

实际例子:如要取出身份证中的生日

credit_num = '123434199803248010'
print("这位同学的生日是:",credit_num[10:12],"-",credit_num[12:14])

输出结果:

这位同学的生日是: 03 – 24

2、字符串的分割

分割字符串可以使用split()方法来实现。

语法如下:strname.split(sep,maxsplit)

说明:  strname----------要分割的字符串

        Sep    ----------用于指定分隔符,可以包含多个分隔符,默认为None,即所有空字符(包含空格、换行“\n”、制表符“\t”等)

        Maxsplit ---------可选参数,用于指定分割的次数,不指定默认为-1,分割次数无限制。

返回值:分割后的字符串列表

举例说明:

str_sp = "I am dewi,I love China!"
print(str_sp)
list_sp = str_sp.split() #默认使用空格分割
print(list_sp)
list_sp1 = str_sp.split(",")#使用逗号分割
print(list_sp1)
str_baidu = "www.baidu.com"
print(str_baidu.split("."))#指定.来分割

输出结果:

3、字符串的合并

语法格式:strnew = string.join(iterable)

参数: strnew   ------生成新的字符串

       String   ---------字符串类型,用于指定合并时字符串的类型

       Iterable -------- 可迭代对象,该迭代对象中的所有元素被合并到一起,称为一个新的字符串,并且以string 分割开来。

举个小栗子:如  ['www', 'baidu', 'com']  百度的网址存在列表中,将其合并为字符串

str_baidu = "www.baidu.com"
list_baidu = str_baidu.split(".")#指定.来分割
print(list_baidu)
str_new_baidu = ".".join(list_baidu)#百度的列表合并为字符串,并用.分割
print(str_new_baidu)

输出结果:

4、检索字符串

在python中有关于字符串查找的方法,我们来讨论一些。

1)count()方法

使用count()方法用于检索指定字符串在另一个字符串中出现的次数。若是检索的字符串不存在,则返回0,否则返回具体的次数。

使用语法:   str.count(sub[,start[,end]])

说明:  str   --------表示原字符串

        Sub   -------表示子字符串

        Start   ------可选参数,检索的起始位置,不写默认从头开始(子字符串)

        End    ------可选参数,检索的结束位置,不写默认检索到结尾(子字符串)

举个例子:

#计算#出现的次数
str_count = "#董事长 #总经理 #保安队长 #保安队长 #职工 #职工 #职工"
print("#出现的次数:",str_count.count("#"))
print("#职工出现的次数:",str_count.count("#职工"[0:3]))#注意0:3是之子字符串

输出结果参考:

2)find()方法

使用find()方法可以检索是否包含指定的字符串。如果检索的子字符串不存在,就返回-1,否在返回首次出现该子字符串时的索引。

参考语法:str.find(sub[start,end])

注意:其中str  : 表示被检索的字符串

Sub------表示子字符串,

Start -------可选参数,表示检索范围的起始位置的索引,不指定的从头开始检索

End  ---------可选参数,表示检索范围的结束位置的索引,不指定的检索到结尾

str_count = "#董事长 #总经理 #保安队长 #保安队长 #职工 #职工 #职工 #职业"
print(str_count.find("董"))

输出:1

3)index()方法

使用的index()方法检索字符串和find()方法类似。只是index()方-方法若是指定的字符串不存在时,会抛出异常。语法:str.index(sub[,start[,end]])

参数和上面类似

举例说明:

str_count = "#董事长 #总经理 #保安队长 #保安队长 #职工 #职工 #职工 #职业"
print(str_count.index("董"))    #索引为1
print(str_count.index("东"))    #查询到没有对应的子字符串

输出结果:

4)startswith()方法

使用startswith 方法查看字符串是不是以某个字符开头,若是返回True

若否返回False

举例说明:

str_count = "#董事长 #总经理 #保安队长 #保安队长 #职工 #职工 #职工 #职业"
print(str_count.startswith("董"))
print(str_count.startswith("#"))

输出如下:

5)endswith()方法

使用endswith() 方法查看字符串是不是以某个字符开头,若是返回True

若否返回False

举例说明:

str_count = "#董事长 #总经理 #保安队长 #保安队长 #职工 #职工 #职工 #职业"
print(str_count.endswith("董"))
print(str_count.endswith("#职业"))

今天先写到这里了,每天进步一点点。今天也要加油啊!

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

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

相关文章

斗地主之顺子

题目描述 在斗地主扑克牌游戏中,扑克牌由小到大的顺序为:3,4,5.6,7.8,9,10,J,Q,K,A,2,玩家可以出的扑克牌阵型有:单张、对子、顺子、飞机、炸弹等。 其中顺子的出牌规则为:由至少5张由小到大连续递增的扑克牌组成,且不能包含2。 例如:(3.4.…

【Windows系统工具】dll综合解决工具,解锁专业版功能!

电脑上经常会出现dll文件丢失的情况,那么面对这种情况,小白用户应该如何应对并且解决呢? 这时,不得不提出dll综合解决工具的重要性了。虽然电脑上有很多自带的工具可以使用,但是方法步骤都比较复杂,很多小白…

day4 QT

作业 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget), speech(new QTextToSpeech) {ui->setupUi(this);id startTimer(1000); }Widget::~Widget() {delete ui; }void Widget::tim…

从C语言过渡到C++

📔个人主页📚:秋邱-CSDN博客☀️专属专栏✨:C 🏅往期回顾🏆:单链表实现:从理论到代码-CSDN博客🌟其他专栏🌟:C语言_秋邱的博客-CSDN博客 目录 ​…

常用的 CMD 指令及其功能

目录 1:Win R命令。 2:cmd命令。 3:盘符名: 命令。 4: mkdir命令。 5:dir命令。 6: dir 名称。 7:Tab。 8:cd name。 9: copy con 文件的名字。 10: type 文件名。 11: cd .. 命令。 12&a…

分享 6 款在日常电脑办公中频繁使用的软件

分享6款经常能用到的电脑办公软件,个个功能强大又易用,装进电脑可以提高工作效率,让你每天准点下班~ 1、Dropit 这个软件真的很给力,特别适合我们这种平时电脑桌面上乱七八糟的人。你知道的,有时候下载各种东西&…

自然语言处理系列六十八》搜索引擎项目实战》搜索引擎系统架构设计

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】 文章目录 自然语言处理系列六十八搜索引擎项目实战》搜索引擎系统架构设计…

【人工智能】Transformers之Pipeline(十七):文本分类(text-classification)

目录 一、引言 二、文本分类(text-classification) 2.1 概述 2.2 DistilBERT—BERT 的精简版:更小、更快、更便宜、更轻便 2.3 应用场景​​​​​​​ 2.4 pipeline参数 2.4.1 pipeline对象实例化参数 2.4.2 pipeline对象使用参数 …

布偶猫应该喂什么猫罐头:交响乐金罐、希喂、尾巴生活测评

布偶猫,萌宠界的甜心代表,爱撒娇又黏人。想让它健康成长?喂养是关键。选粮不当,健康受损。今日精选三款热门主食罐,依据布偶猫营养需求,直接评测,助你快速了解何为理想之选。无需繁琐&#xff0…

状态机按键消抖(学习笔记)

状态转移图: module key_filter(Clk,Reset_n,Key, // Key_P_Flag, // Key_R_Flag,Key_Flag,Key_state);input Clk;input Reset_n;input Key; // output reg Key_P_Flag; // output reg Key_R_Flag;output Key_Flag;output reg Key_state; reg Key_P_…

002 JavaClent操作RabbitMQ

Java Client操作RabbitMQ 文章目录 Java Client操作RabbitMQ1.pom依赖2.连接工具类3.简单模式4.工作队列模式(work)公平调度示例 5.发布/订阅模式(fanout)交换机绑定示例代码 6.路由模式(direct)7.Topic匹配…

RQ-RAG:提升检索增强生成模型的查询精炼能力

人工智能咨询培训老师叶梓 转载标明出处 大模型在面对未见场景时,往往会产生不准确或虚构的回答,这限制了它们的实用性。为了解决这一问题,香港科技大学、香港理工大学和麻省理工学院的研究团队提出了一种名为RQ-RAG(Retrieval-A…

国产芯片LT8711HE:TYPE-C/DP1.2转HDMI2.0转换器,4k60Hz高分辨率

以下为LT8711HE芯片的简单介绍,如有介绍不尽之处,请指出 LT8711HE是一个高性能的Type-C/DP1.2到HDMI2.0转换器,用于连接USB Type-C源或DP1.2源到HDMI2.0接收器。 LT8711HE集成了一个DP1.2兼容的接收器和一个HDMI2.0兼容的发射器。另外&…

出处不详 取数游戏

目录 取数游戏题目描述背景输入输出数据范围 题解解法优化 打赏 取数游戏 题目描述 背景 两人将 n n n个正整数围成一个圆环,规则如下: 第一名玩家随意选取数字;第二名玩家从与第一名玩家相邻的两个数字中选择一个;而后依次在…

MOM成功实施分享(五)刨花板制造数字化聚焦业务场景

刨花板是一种人造板材,由木材或其他植物纤维原料制成。 在制造生产过程中目前存在以下痛点: 原材料质量不稳定:刨花板的质量很大程度上取决于原材料的质量,如果原材料的来源不稳定、质量参差不齐,会影响刨花板的性能…

从线段中搜寻提取闭合轮廓(三)

1.前言 做底层和数据的调试问题也是个麻烦事,如果没有方便的可视化工具辅助,那将令人感到痛苦,借助可视化的工具可以让我们高效、省心,进而心情舒畅,重要的是可以提高调试效率。 当然可视化工具也分不同层次的…

我对 monorepo 的一些思考

我对 monorepo 的一些思考 我对 monorepo 的一些思考 前言它的由来技术选型 管理工具语言与打包调试工具测试框架代码规范与质量控制本地引用与发包替换发包流程Github 相关配置部署 使用手册 功能特性总结如何使用?清除默认的包(可选)模板包介绍 packagesapps 更新…

25虾皮笔试shopee笔试测评sea笔试测评题型

虾皮笔试shopee笔试测评用的自己的笔试系统,全英文笔试: 1.Numerical Reasoning Test:10题,言语推断和数学计算 2. Verbal Reasoning Test:10题,言语理解,每题一段英文材料,选对错…

医院管理|基于java的医院管理系统小程序(源码+数据库+文档)

医院管理系统小程序 目录 基于java的医院管理系统小程序 一、前言 二、系统设计 三、系统功能设计 医生信息管理 排班信息管理 科室信息管理 科室预约 病历信息 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取:…

浅谈模型在信贷营销中的应用

浅谈模型在信贷营销中的应用 当前在信贷营销场景中,用户流量竞争愈加激烈,获客成本持续攀高,客户消费观念和消费信心趋向保守,传统的信贷营销方式效果逐渐乏力,借助数据挖掘技术对用户进行多元优化及精细化管理已经成为企业在经营发展中的普遍趋势。在此背景下,本文将围…