Python学习之字符串常用操作详解
作者:遇安.112 发布时间:2022-07-14 18:54:48
1、查找字符串
除了使用index()方法在字符串中查找指定元素,还可以使用find()方法在一个较长的字符串中查找子串。如果找到子串,返回子串所在位置的最左端索引,否则返回-1。
语法格式:
str.find(sub[,start[,end]])
其中,str表示被查找的字符串。sub表示查找的子串。start表示开始索引,缺省时为0。end表示结束索引,缺省时为字符串的长度。
如果需要知道指定元素在序列中出现的次数,可以使用count()方法进行计数并返回。
语法格式:
sequence.count(obj)
其中,sequence表示序列,obj表示要统计的对象。
例:使用index()查找《三国演义》片段中某个字首次出现的位置,然后使用count()方法统计出现的次数。
ex='''次日,于桃园中,备下乌牛白马祭礼等项,三人焚香再拜而说誓曰:“念刘备、关羽、张飞,虽然异姓,既结为兄弟,则同心协力,救困扶危;上报国家,下安黎庶。
不求同年同月同日生,只愿同年同月同日死。
皇天后土,实鉴此心,背义忘恩,天人共戮!”誓毕,拜玄德为兄,关羽次之,张飞为弟。祭罢天地,复宰牛设酒,聚乡中勇士,
得三百余人,就桃园中痛饮一醉。来日收拾军器,但恨无马匹可乘。正思虑间,人报有两个客人,引一伙伴当,赶一群马,投庄上来。
玄德曰:“此天佑我也!”三人出庄迎接。原来二客乃中山大商:一名张世平,一名苏双,每年往北贩马,近因寇发而回。
玄德请二人到庄,置酒管待,诉说欲讨贼安民之意。二客大喜,愿将良马五十匹相送;又赠金银五百两,镔铁一千斤,以资器用。
'''
name=input('请输入人物姓名:')
if name in ex:
#用index()方法获取name首次出现的位置Index
Index=ex.index(name)
print(name,'首次出现的位置的索引为:',Index)
print(name,'在此片段中出现',ex.count(name),'次')
else:
print(name+'没有出现在片段中')
例:使用find()方法完成上面的例子
ex='''次日,于桃园中,备下乌牛白马祭礼等项,三人焚香再拜而说誓曰:“念刘备、关羽、张飞,虽然异姓,既结为兄弟,则同心协力,救困扶危;上报国家,下安黎庶。
不求同年同月同日生,只愿同年同月同日死。
皇天后土,实鉴此心,背义忘恩,天人共戮!”誓毕,拜玄德为兄,关羽次之,张飞为弟。祭罢天地,复宰牛设酒,聚乡中勇士,
得三百余人,就桃园中痛饮一醉。来日收拾军器,但恨无马匹可乘。正思虑间,人报有两个客人,引一伙伴当,赶一群马,投庄上来。
玄德曰:“此天佑我也!”三人出庄迎接。原来二客乃中山大商:一名张世平,一名苏双,每年往北贩马,近因寇发而回。
玄德请二人到庄,置酒管待,诉说欲讨贼安民之意。二客大喜,愿将良马五十匹相送;又赠金银五百两,镔铁一千斤,以资器用。
'''
name=input("请输入人物姓名:")
Index=ex.find(name)
if Index>-1:
print('{}首次出现的位置索引为:{}'.format(name,Index))
print('{}在此片段中出现{}次'.format(name,ex.count(name)))
else:
print('{}没有出现在此片段中'.format(name))
2、分割字符串
split()方法以指定字符为分隔符,从字符串左端开始将字符串分隔成多个子串,并返回分割结果的列表。
语法格式:
str.split([delimiter,num])
其中,str表示被分割的字符串,delimiter表示分隔符,可以是空格、换行(\n)、制表符(\t)等,缺省时为空格,num表示分割次数,缺省时全部分割。
# 分割字符串
strs='This is an example of cutting' #创建字符串
#以空格为分隔符将字符串全部分割
print(strs.split()) # ['This', 'is', 'an', 'example', 'of', 'cutting']
#以空格为分隔符将字符串分割3次
print(strs.split(' ',3)) # ['This', 'is', 'an', 'example of cutting']
3、连接字符串
join()方法用于将序列中的元素以指定的字符连接,生成一个新的字符串。
语法格式:
str.join(sequence)
其中,str表示连接符,可以为空,sequence表示要连接的序列
# 连接字符串
print('-'.join('Python!')) # P-y-t-h-o-n-!
#例:将字符串“Rain falls on field and tree”中的多余空格删除,即如果有连续空格只保留一个
strs='Rain falls on field and tree'
print('原文:',strs)
split_strs=strs.split() #以空格为分割符,将strs全部分割
print("以空格分割后:",split_strs) # ['Rain', 'falls', 'on', 'field', 'and', 'tree']
join_strs=' '.join(split_strs) # 用空格连续分割后的字串
print('只留一个空格的结果:',join_strs) # Rain falls on field and tree
4、替换字符串
replace()方法用于将字符串中的旧字符串替换成新字符串。
语法格式:
str.replace(old,new[,max])
其中, str表示字符串,old表示将被替换的旧字符串,new表示新字符串,用于替换old,max是可选参数,表示替换的最大次数,缺省时替换所有。
#替换字符串
#例:使用replace()方法将字符串“hello Python hello hello”中的“hello”替换成“HELLO”
strs='hello Python hello hello'
#全部替换
print(strs.replace('hello','HELLO')) # HELLO Python HELLO HELLO
#只替换2次
print(strs.replace('hello','HELLO',2)) # HELLO Python HELLO hello
5、移除字符串的首尾字符
strip()方法用于移除字符串首尾连续的空白字符或指定字符。
语法格式:
str.strip([chars])
其中,str表示字符串,chars表示移除的字符串首尾指定的字符,缺省时为空格。
#移除字符串的首尾字符
#例:使用strip()方法移除字符串‘110This is an test0001'中的‘0'和‘1'
strs='110This is an test0001'
#移除两端的1
print(strs.strip('1')) # 0This is an test000
# print(strs.strip('0')) # 结果:110This is an test0001 说明移除两端需要按顺序移除
#移除两端的1和0
print(strs.strip('10')) # This is an test
6、转换字符串的大小写
lower()方法用于将字符串中所有大写字符转换为小写,而upper()方法则用于将字符串中所有小写字符转换为大写。
语法格式:
str.lower()和str.upper()
#转换字符串的大小写
#例:使用lower()方法将字符串“HELLO Python”转换为小写,再使用upper()方法将其转换为大写
strs='HELLO Python'
print(strs.lower()) # hello python
print(strs.upper()) # HELLO PYTHON
7、检测字符串(后续还会更新)
isalnum()方法用于检测字符串是否由字母和数字,或两种中的一种组成,如果是则返回True,否则返回False。
语法格式:
str.isalnum()
其中,str表示要检测的字符串
#检测字符串
#例:使用isalnum()方法判断字符串“2022test”是否由字母和数字组成
strs='2022test'
print(strs.isalnum()) # True
str2='六'
print(str2.isalnum()) # True 支持汉字
str3='20 22'
print(str3.isalnum()) # False 包含空格为false
来源:https://blog.csdn.net/qq_62731133/article/details/127097202
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 一、Pylint 是什么Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准和有潜在
- 说明:本文内容都是从Google上搜索来的,本想上http://www.alexa.com/查官方数据,访问非常慢暂且没查。使用本接口将返回
- 一、引用计数基础知识每个php变量存在一个叫 zval 的变量容器中。一个 zval 变量容器,除了包含变量的类型和值,还包括两个字节的额外
- 在本篇文章中,我们将介绍回归树及其基本数学原理,并从头开始使用Python实现一个完整的回归树模型。为了简单起见这里将使用递归来创建树节点,
- PHP5.4后新增traits实现代码复用机制,Trait和类相似,但不能被实例化,无需继承,只需要在类中使用关键词use引入即可,可引入多
- 1 引言各位朋友大家好,欢迎来到月来客栈。今天要和大家介绍的内容是如何在Pytorch框架中对模型进行保存和载入、以及模型的迁移和再训练。一
- 本文以修改用户名密码单元为案例,编写测试脚本。完成修改用户名密码模块单元测试。(ps.这个demo中登陆密码为“admin”)1. 打开浏览
- 前言我在使用mac安装virtualwrapper的时候遇到了问题,搞了好长时间,才弄好,在这里总结一下分享出来,供遇到相同的问题的朋友使用
- 本文实例讲述了PHP版微信小店接口开发方法。分享给大家供大家参考,具体如下:首先 大家可以去下一份小店开发的 API接口 因为 下面所有的
- QQ通过返回不同的图片,来表示在线或离线,图标也随之变换,既然图片不同,那么,返回的HTTP头信息中的Content-Length 也一定不
- python openvc 裁剪图片下面是4个坐标代码:import cv2#裁剪图片路径input_path,四个裁剪坐标为:y1,y2,
- 两种方法实现:1、在双引号前面加个转义符 \ ,即反斜杠。如"Hello \"W \"orld",会
- 昨天在W3C看到,6月10日发布了新的 HTML 5 草案(Working Draft)。粗略的读了一下它提供的 新版本说明文档 ,作了一点
- 这篇文章主要介绍了通过python连接Linux命令行代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- “位置:首页 第一屏通栏 格式:jpg 尺寸:960*90 ……”在工作我们经常会接到这样的banner设计需求,由
- 在封装自己的FileSystemObject库的时候,测试的时候发现在文件夹或文件很多的时候,效率很低,显示一个文件夹需要2秒甚至更多,这让
- hashlibhashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256,
- 阅读上一章:Chapter 6 短语元素Chapter 7 锚点HTML中的链接,正确的说法应该称作"锚点",它不仅让我
- 需求:在django中,有时候我们需要在一个表单中设置多个按钮实现不同的功能。解决方法:为不同按钮添加不同name属性,然后再后台判断nam
- Django项目中为什么会加载静态时会失败呢?原因:django部署方式比较特别,采用静态文件路径:STATICFILES_DIRS的部署方