python字符型数据_python基本数据类型之字符串(一)

python中字符串中有很多方法,具体方法如下图所示:

1142826-20181229203624298-304439491.jpg

分割方法

字符串的分割方法:

1、join方法:

join方法是字符串方法中最重要的方法之一,它的作用是将某一字符插入到字符串中用作连接。

具体用法:

1 s = 'haha'

2 v = '_'.join(s)3 print(v)

打印结果:

1 h_a_h_a

join方法不仅可以用来连接字符串,也可以用来连接其他可遍历(iterable)类型中的元素,如列表、元组:

l = ['Tom','Jerry','Homer']

ls= '_'.join(l)print(ls)

t= ('liuxiang','yaoming','liuguoliang')

ts= '#'.join(t)print(ts)

打印结果:

1 Tom_Jerry_Homer2 liuxiang#yaoming#liuguoliang

字典同样可以作为join的参数传入,但是默认情况下,它处理的是字典的key;如果需要处理value,则需要调用values()方法。

1 #字典

2 d ={3 'name': 'Tom', 'type': 'cat', 'hobby': 'catch mouse'

4 }5 ds = '*'.join(d)6 print(ds)7

8 ds2 = '%'.join(d.values())9 print(ds2)

打印结果:

1 name*type*hobby2 Tom%cat%catch mouse

但是字典的items()就不能作为join的参数传入了,会直接报错(类型错误):TypeError: sequence item 0: expected str instance, tuple found

2、split、rsplit、splitlines

split方法是将字符串按传入的参数进行分割,并将分割后的子串组成一个列表返回。

split(sep='',maxsplit=-1),该方法有两个参数,sep参数用来指定按照哪个字符进行分割;maxsplit指定分割的次数,(默认为-1,按照所有的指定字符进行分割)。

s = 'lalala!yeyeye!hahaha!hohoho!'v= s.split('!')print(v)

v2 = s.split('!', 3)

print(v2)

打印结果:

['lalala', 'yeyeye', 'hahaha', 'hohoho', '']

['lalala', 'yeyeye', 'hahaha', 'hohoho!']

**注意:当分割字符的后面没有字符时,split方法依旧会进行分割,在列表的最后会出现一个空字符串。

rsplit的用法与split方法一致,只不过rsplit方法会从右边开始寻找指定字符:

s = 'lalala!yeyeye!hahaha!hohoho!'v= s.rsplit('!', 3)print(v)

打印结果:

['lalala!yeyeye', 'hahaha', 'hohoho', '']

splitlines(keepends=None),splitlines方法将字符串按照换行符(\n)进行分割。

该方法只有一个参数:keepends,当keepends=True时,在分割的子串中会保留换行符。

s = 'lalala!\nyeyeye!\nhahaha!\nhohoho!'v=s.splitlines()print(v)

v2=s.splitlines(True)print(v2)

打印结果:

['lalala!', 'yeyeye!', 'hahaha!', 'hohoho!']

['lalala!\n', 'yeyeye!\n', 'hahaha!\n', 'hohoho!']

split()、rsplit()和splitlines()三个方法中最常用的是split()。

3、partition、rpartition

partition和split方法用法是一样的,都是按照指定字符分割字符串,两者的不同之处在于:

(1) partition方法返回的是一个子串组成的元组,split方法返回的是一个列表。

(2) partition只能分割一次,它只有一个参数sep,你只能指定分割的字符并不能指定分割次数;split可以分割多次。

(3) partition方法返回的元组中包含了分割字符,而split方法不包含分割字符。

同样,rpartition也是从右向左查找,与rsplit方法的意思基本一致。

s = '你是光你是火你是冬天里的一把火'v= s.partition('是')print(v)

v2 = s.rpartition('是')

print(v2)

打印结果:

('你', '是', '光你是火你是冬天里的一把火')

('你是光你是火你', '是', '冬天里的一把火')

4、正则表达式

python中支持正则表达式。正则表达式博大精深,暂时还未掌握。

Q1:如果有两种分割依据,如何才能分割字符串呢?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值