python中字符串的操作

字符串应该算是一个最基本的数据结构了,而且在实际的应用中使用甚广,所以我简单的介绍几个python中比较常用的字符串操作命令,希望对大家有所帮助

什么是字符串

字符串就是用单引号或双引号括起来的数据、里面可以有字母、数字、空格等元素

比如:

a = "hello world"

字符串本质是字符序列。Python中的字符串是不可修改的。无法对原字符串进行修改,但是可以将字符串的一部分赋值到新字符串,来达到相同的修改效果。

打印字符串

print(a)

输出结果:hello world

拼接字符串 +

b = 'thank you'
print(a+b)
输出结果:hello worldthank you

使用*对字符串进行复制

print(a*3)
输出结果:hello worldhello worldhello world 

使用[ ]提取字符

print(a[1])
输出结果:e

 

在字符串后面添加[ ],并在括号里指定偏移量,可以提取该位置的单个字符。注意:第一个字符的偏移量为0,下一个是1,以此类推。最后一个字符的偏移量可以使用-1来表示,这样就不必从头到尾。偏移量从右向左紧接着为-2、-3。。。

  注意:如果指定的偏移量超过了字符串的长度,会得到一个错误提示:string index out of range

  再次注意:由于字符串不可修改,所以试图通过[ ]来修改字符串的行为是错误的。下面会讲到如何实现这个需求。

使用【start:end:step】分片(也叫切片)

分片操作可以从一个字符串抽取一个子字符串(字符串的一部分)。start代表起始偏移量,end终止偏移量,step步长。分片将会等到start开始到end结束之前全部的字符。

a = '123456789'
print(a[1:-1:2])
输出结果:2468

从偏移量为1的数字2开始,每隔2个数字获取直到最后,-1代表最后一个数字

这三个参数可以省略不写的,如果不写就默认从第一个到最后一个,每次取1个数字

例如上面的代码可以这样写

a = '123456789'
print(a[1::2])
输出结果:2468

好了,现在有个需求,就是将字符串倒叙显示,该如何实现呢?

a = '123456789'
print(a[::-1])
输出结果:987654321

注意:分片中end的偏移量需要比实际提取的最后一个字符的偏移量多1 有点类似数学中的左闭右开

 

好了 下面介绍几个操作字符串的内置函数

 

使用len()获得长度

 

len()函数可用于计算字符串的包含的字符数

a = '123456789'
print(len(a))
输出结果:9

如果字符串中有空格呢

a = '12345 6789'
print(len(a))
输出结果:10

 

使用split()分割

这是一个比较常用的函数,但是与len()函数使用方法不同、len()函数不单单只针对字符串、也可以常看列表的长度。

而split()函数只适用于字符串类型。为了调用字符串的函数,你需要输入字符串的名称、一个点号,需要调用的函数名,以及需要传入的参数:string.function(args)

a = '111,222,333'
print(a.split(','))
运行结果:['111','222','333']

 

使用内置的字符串函数,split()可以基于分隔符将字符串分割成若干子串组成的列表。空格也可以,但是在' '中必须也按下空格键。

 

 

使用find()和rfind()查找子串

  使用find()函数可以从左向右查找指定的字符串在既定字符串中的位置,如果存在则返回位置即偏移量,不存在,则返回-1

  rfind()类似于find()函数,只不过是从右向左查找,也就是查找指定字符串最后一次出现的位置。返回的也是从0开始计算的偏移量。

 

startwith()和endwith()

检查字符串是否以指定字符串开头,是则返回True,否则返回False.

检查字符串是否以指定字符串结束,是则返回True,否则返回False.

 

使用replace()替换

  使用replace()函数可以将指定的字符串替换其他的字符串,并生成新的字符串。默认情况下,会将字符串所有的指定字符替换为目标字符,也可以指定第三个参数,最多替换次数。

a = 'a5a5a5a5'

print(a.replace("a","b",2))

输出结果:b5b5a5a5

 

转载于:https://www.cnblogs.com/sealong/p/9334470.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值