正则表达式中的split方法可以用于对字符串进行灵活的切割。
比如切割如下字符串:
names = '关羽; 张飞, 赵云,马超, 黄忠 李逵'
我们可以发现每两个名字之间,有的是分号隔开,有的是逗号隔开,有的是空格隔开, 而且分割符号周围还有不定数量的空格。
这时可以使用正则表达式[;,\s]\s*
分割符为分号、逗号、空格里面的任意一种均可。\s*表示任意数量的空格。
import re
names = '关羽; 张飞, 赵云, 马超, 黄忠 李逵'
namelist = re.split(r'[;,\s]\s*', names)#前面加r表示不进行python语法的字符串转义
print(namelist)
运行结果为:[‘关羽’, ‘张飞’, ‘赵云’, ‘马超’, ‘黄忠’, ‘李逵’]