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

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

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

a = 'name,age'
str_list = a.split(',')
print(str_list[0])
print(str_list[1])

运行效果如下图所示:

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

name, age,salary; address;  work

需要把里面的 nameagesalaryaddresswork切分开。

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

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

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

  1. '[,,;;] *'

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

import re
a = 'name, age,salary; address;  work'
b = re.split('[,,;;] *', a)
print(b)

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

目录
相关文章
|
3天前
|
C#
C#有关字符串的分割,替换,截取
C#有关字符串的分割,替换,截取
|
3天前
|
索引 Python
字符串:比较、拼接、切割、转义字符;相关切割、替换、查找、去除空白、转大小写函数的方法
字符串:比较、拼接、切割、转义字符;相关切割、替换、查找、去除空白、转大小写函数的方法
13 0
|
3天前
|
索引 容器
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
excel中提取双引号之间的数据、提取括号中的数据
excel中提取双引号之间的数据、提取括号中的数据
|
3天前
|
Java
java读取txt文件,使用逗号,分号,空格,回车将文件内容分割成一个一个的词组,找出所有重复的词组
java读取txt文件,使用逗号,分号,空格,回车将文件内容分割成一个一个的词组,找出所有重复的词组
98 38
|
11月前
|
算法
利用切片操作去除字符串空格
利用切片操作去除字符串空格
40 0
|
12月前
|
数据安全/隐私保护 索引
labview字符串数据长度连接子字符串大小写替换删除插入日期匹配
labview字符串数据长度连接子字符串大小写替换删除插入日期匹配
125 0
|
Java
java字符串拼接,逗号分隔 (已实测可用)
java字符串拼接,逗号分隔 (已实测可用)
297 0
去掉多余的空格---输入一个字符串,字符串中可能包含多个连续的空格,请将多余的空格去掉,只留下一个空格。输入格式
输入一个字符串,字符串中可能包含多个连续的空格,请将多余的空格去掉,只留下一个空格。 输入格式 共一行,包含一个字符串。 输出格式 输出去掉多余空格后的字符串,占一行。 数据范围 输入字符串的长度不超过 200200。 保证输入字符串的开头和结尾没有空格。
268 0