如何拆分含有多种分隔符的字符串
程序员文章站
2022-06-20 08:37:50
方法1:连续使用str.split()方法,每次处理一种分隔符号 执行结果: 方法2:使用正则表达式的re.split()方法(推荐) 执行结果: ......
方法1:连续使用str.split()方法,每次处理一种分隔符号
s = 'ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz' def my_split(s, seps): res = [s] for sep in seps: t = [] list(map(lambda ss: t.extend(ss.split(sep)), res)) res = t return res #reduce + split from functools import reduce my_split2 = lambda s, seps: reduce(lambda l, sep: sum(map(lambda ss: ss.split(sep), l), []), seps, [s]) my_split2(s, ',;|\t')
执行结果:
['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz']
方法2:使用正则表达式的re.split()方法(推荐)
s = 'ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz' import re re.split('[;,|\t]+', s)
执行结果:
['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz']