python学习--字符串的常用操作

2023-09-15 18:45:41

字符串查询操作

功能方法名称作用
查询方法index()查找子串substr第一次出现的位置,如果查找的子串不存在时,则抛出valueError
查询方法rindex()查找子串sunstr最后一次出现的位置,如果查找的子串不存在时,则抛出valueError
查询方法find()查找子串sunstr第一次出现的位置,如果查找的子串不存在时,返回-1
查询方法rfind()查找子串sunstr最后·一次出现的位置,如果查找的子串不存在时,返回-1
s='hello,hello'
print(s.index('lo'))
print(s.rindex('lo'))
print(s.find('lo'))
print(s.rfind('lo'))

字符串的大小写转换操作的方法

功能方法名称作用
大小写转换upper()把字符串中所有字符都转成大写字母
大小写转换lower()把字符串中所有字符都转成小写字母
大小写转换swapcase()把字符串中所有大写字母都转换成小写字母,把所有小写都转换成大写
大小写转换capitalize()把第一个字符转换为大写,把其余字符转换为小写
大小写转换title()把每个单词的第一个字符转换为大写,把每个单词的剩余字符转换为小写

字符串内容对齐操作的方法

功能方法名称作用
字符串对齐center()居中对齐,第一个参数指定宽度,第2个参数指定填充符,第二个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串
字符串对齐ljust()左对齐,第一个参数指定宽度,第2个参数指定填充符,第二个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串
字符串对齐rjust()右对齐,第一个参数指定宽度,第2个参数指定填充符,第二个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串
字符串对齐zfill()右对齐,左边用0填充,该方法只接受一个参数,用于指定字符串的宽度,如果指定的宽度小于等于字符串长度,返回字符串本身
s='hello,python'
'''居中对齐'''
print(s.center(20,'*'))
'''左对齐'''
print(s.ljust(20,'*'))
print(s.ljust(10))
print(s.ljust(20))
'''右对齐'''
print(s.rjust(20,'*'))
print(s.rjust(10))
'''右对齐,使用0填充'''
 print(s.zfill(20))

字符串劈分操作的方法

功能方法名称作用
字符串的劈分split()1.从字符串的左边开始劈分,默认劈分字符是空格字符串,返回的值都是一个列表 2.以通过参数sep指定劈分字符串是劈分符 3.通过参数maxsplit指定劈分字符串时最大劈分次数,在经过最大次劈分之后,剩余的子串会单独作为一部分
字符串的劈分rsplit()1.从字符串的右边开始劈分,默认劈分的字符是空格字符串,返回的值都是一个列表 2.以通过参数sep指定劈分字符串是劈分符 3.通过参数maxsplit指定劈分字符串时最大劈分次数,在经过最大次劈分之后,剩余的子串会单独作为一部分
s='hello world python'
lst=s.split()
print(lst)#['hello','world','python']
s1='hello|world|python'
print(s1.split(sep='|'))
print(s1.split(sep='|',maxsplit=1))#['hello','world|python']

判断字符串操作的方法

功能方法名称作用
判断字符串的方法isidentifier()判断指定的字符串是不是合法的标识符
判断字符串的方法isspace()判断指定的字符串是否全部由空白字符组成(回车、换行、水平制表符)
判断字符串的方法isalpha()判断指定的字符串是否全部由字母组成
判断字符串的方法isdecimal()判断指定字符串是否全部由十进制的数字组成
判断字符串的方法isnumeric()判断指定的字符串是否全部由数字组成
判断字符串的方法isalnum()判断指定字符串是否全部由字母和数字组成
s='hello,python'
print('1.',s.isidentifier())#False
print('2.','hello'.isidentifier())#True
print('3.','张三'.isidentifier())#true
print('4.','张三_123'.isidentifier())#True
print('5.','\t'.isspace())#True
print('6.','abc'.isalpha())#True
print('7.','张三'.isalpha())#true
print('8.','123'.isdecimal())#True
print('9.','123四'.isdecimal())#False
print('10.','123'.isnumeric())#True
print('11.','123四'.isnumeric())#False
print('12.','12a3'.isalnum())#true

字符串的替换与合并

功能方法名称作用
字符串的替换replace第一个参数指定被替换的子串,第二个参数指定替换字串的字符串,该方法返回替换后得到的字符串,替换前的字符串不发生变化,调用该方法时可以通过第三个参数指定最大替换次数
字符串的合并join将列表或元组中的字符串合并成一个字符串
 s='hello,python'
 print(s.replace('python','java'))
 s1='hello,python,python,python'
 print(s.replace('python','java',2)
 lst=['hello','java','python']
 print('|'.join(lst))#hello|java|python
 print(''.join(lst))#hellojavapython
 lst=('hello','java','python')
 print(''.join(t))
 print('*'.join('python'))#p*y*t*h*o*n
 

字符串的比较操作

  • 运算符:>,<,>=,<=,==,!=
  • 比较规则:首先比较两个字符串中的第一个字符,如果相等则继续比较第二个字符,依次比较下去,直到两个字符串中的字符不相等时,其比较结果就是两个字符串的比较结果,两个字符串中所有后续字符将不再被比较
  • 比较原理:两个字符进行比较时,比较的是其ordinal value(原始值),调用内置函数ord可以得到指定字符的ordinal value。与内置函数ord对应的是内置函数chr,调用内置函数chr时指定ordinal value可以得到其对应的字符
print('apple'>'app')#True
print('apple'>'banana')#False
print(ord('a'),ord('b'))#97 98
print(chr(97),chr(98))#a b

'''==与is的区别'''
#==比较的是value,is比较的是id是否相等

字符串的切片操作

  • 字符串是不可变类型
    不具备增、删、改等操作
    切片操作将产生新的对象
s='hello,world'
s1=s[:5]
s2=s[6:]
s3='!'
newStr=s1+s3+s2
print(newStr)

格式化字符串

格式化字符串的两种方式

  • %作占位符
    我的名字叫:%s,今年%d岁了
  • { }作占位符
#(1)%占位符
name='张三'
age=20
print('我叫%s,今年%d岁' % (name,age))
#(2){}
print('我叫{0},今年{1}岁'.format(name,age))
#(3)f-string
print(f'我叫{name},今年{age}岁')

print('%10d' % 99)#10表示的是宽度
print('%.3f' % 3.1415926)#.3表示是小数点后3位
#同时表示宽度和精度
print('%10.3f' % 3.1415926)#一共总宽度为10,小数点后3位
print('hellohello ')

print('{0:.3}'.format(3.1415926))#.3表示的是一共是3位数
print('{:.3f}'.format(3.1415926))#.3f表示是3位小数
print('{:10.3f}'.format(3.1415926))#同时设置宽度和精度,一共是10位,3位是小数

字符串的编码转换

s='天涯共此时'
#编码
print(s.encode(encoding='GBK'))
print(s.encode(encoding='UTF-8'))
#解码
byte=s.encode(encoding='GBK')
print(byte.decode(encoding='GBK'))
更多推荐

SpringBoot实战案例:图书管理系统

SpringBoot实战案例:图书管理系统在本文中,我们将介绍如何使用SpringBoot框架构建一个简单的图书管理系统。我们将从零开始,逐步完成系统的搭建。本文将分为以下七个部分:系统需求分析搭建项目框架实现数据访问层实现业务逻辑层实现控制层前端页面与交互测试与部署1.系统需求分析在开始构建图书管理系统之前,我们首先

SpringBoot-接口幂等性

幂等幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数或幂等方法是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。尤其是支付、订单等与金钱挂钩的服务,保证接口幂等性尤其重要。在实际开发中,我们需要针对不同的业务场景我们需要灵活的选

spring framework 5.2文档 - 控制反转 IoC 容器

IoC主题1.容器概述2.bean概述3.依赖注入(DI)4.Bean的范围5.定制一个beanSpring框架最重要的是控制反转(IoC)容器1.容器概述org.springframework.context.ApplicationContext接口代表SpringIoC容器,负责实例化、配置和组装bean。容器通过

竹云董事长董宁受邀出席香港第三届湾区元宇宙大会暨AIGC、RWA发展高峰论坛并作主题演讲

“一元初分,宇宙万仪”。9月16日,第三届湾区元宇宙大会暨AIGC、RWA发展高峰论坛在香港圆满落幕。全球权威机构、顶级专家学者、杰出企业家代表齐聚一堂,畅所欲言,全面总结分析元宇宙现状,综合研判元宇宙未来发展趋势。大会由香港区块链技术应用协会主办,粤港澳大湾区青年总会、香港国际投资总会、国际数据协会、联合国数字安全联

MySQL只同步单个表或多个表,非全部同步!

replicate-do-table是MySQL复制配置中的一个选项,它允许您指定要在从服务器上复制的表。如果您想要只复制主服务器上特定的表到从服务器,您可以使用这个选项。以下是如何操作replicate-do-table的步骤:停止从服务器:在从服务器上执行以下命令来停止复制:STOPSLAVE;编辑MySQL配置文

量化分析革新金融服务软件的三种方式

金融服务软件行业爱死量化分析了。为什么呢?因为在这个本质上不可预测的行业中,量化分析提供了一种确定性,或者至少是类似于确定性的东西。市场总是在变动,利润也起伏不定。交易达成了,然后落空,又再次达成,从交易大厅到董事会,纳秒级的差异可能成就巨大成功或带来重大损失。如果没有量化分析,我们难以预测这些事情会在何时、何地、以何

word快捷键、conda一些安装问题、坐标转换初阶

整理一下今天所学吧!用博客来记录还是比较理想的,因为可以时常观看。首先是word:上下标:ctrl+=,ctrl+shift+=斜体:ctrl+ialt+=插入公式!!!选中:shift+方向矩阵公式可以直接选中进行添加和修改。接着是一些环境:anaconda中,在c盘不好用时,去d盘打开首先需要给它初始化了:cond

etcd之读性能主要影响因素

1、Raft模块-线性读ReadIndex-节点之间的RTT延时、磁盘IO线性读时Follower节点首先会向Raft模块发送ReadIndex请求,此时Raft模块会先向各节点发送心跳确认,一半以上节点确认Leader身份后由leader节点将已提交日志索引(committedindex)封装成ReadState结构

初识Java 10-1 集合

目录泛型和类型安全的集合基本概念添加一组元素打印集合ListIterator(迭代器)本笔记参考自:《OnJava中文版》在进行程序设计时我们会发现,程序总是会根据某些在运行时才能知道的条件来创建新的对象。这意味着,我们必须能够随时随地创建任意数量的对象。Java提供了几种方法来持有对象(的引用),其中之一就是数组。数

华为云云耀云服务器L实例评测|华为云上安装监控服务Prometheus三件套安装

文章目录华为云云耀云服务器L实例评测|华为云上试用监控服务Prometheus一、监控服务Prometheus三件套介绍二、华为云主机准备三、Prometheus安装四、Grafana安装五、alertmanager安装六、三个服务的启停管理1.Prometheus、Alertmanager和Grafana启动顺序2.

华为云HECS云服务器docker环境下安装redis

当前有个华为云HECS云服务器,已经安装了docker环境,准备下docker环境下安装redis。一、HECS云服务器安装docker登录华为HECS云服务器,安装docker环境。安装docker参考如下文章:华为云HECS安装docker并安装mysql-CSDN博客二、拉取redis镜像1、查询redis镜像d

热文推荐