多个字符串_一日一技:一次性把字符串用多个分隔符分割

a3363e9443dc096ff54f24ae3e97cabc.png

现在有一个字符串: name,age,我们想把它分割为 nameage,我们可以使用 split()方法:

a = 'name,age'

str_list = a.split(',')

print(str_list[0])

print(str_list[1])

运行效果如下图所示:

72d6edd36d68880acdd7361557b20141.png

但在现实中,有不少符号,中英文长的很像,但却不一样,并且有的人喜欢在分隔符后面加空格,有些人又不加空格。例如:

name, age,salary; address; work

需要把里面的 name age salary address work切分开。

可能有人会把里面的所有分隔符全部替换为英文逗号,移除空格,然后再split,但是这样过于麻烦。

实际上正则表达式模块re提供了一个基于正则表达式的分割字符串函数 re.split

对于中英文逗号,中英文分号,空格,可以使用下面这个正则表达式表示:

'[,,;;] *'

中括号里面的符号是“或”的关系,右中括号和星号之间有一个空格。“空格 星号”表示空格出现0次或无数次,这样无论分隔符后面有多少个空格都可以正确识别。所以切分上述字符串的代码为:

import re

a = 'name, age,salary; address; work'

b = re.split('[,,;;] *', a)

print(b)

运行效果如下图所示,完美解决问题:

2a59e6ac5067b1712d5ead0b40dea1a8.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值