python3 分割字符串(多分割符)

s = 'q|w;e|r;r|t;t|y;y|u;u|i;i|o;'


# s = 待分割字符串
# ds = 分割符字符串
def mySplit(s, ds):
    res = [s]
    # 循环所有的分割符
    for d in ds:
        print(d)
        t = []
        # 一定要list 一下才能正确使用
        res2 = list(map(lambda x: t.extend(x.split(d)), res))
        # print(res2)
        res = t
    # 过滤掉空字串
    return [x for x in res if x]


r = mySplit(s, ';|')
print('r', r)

快速的方式

import re
s = 'q|w;e|r;r|t;t|y;y|u;u|i;i|o;'

r = re.split(r'[,;\t|]+',s)
print(r)

 

你可能感兴趣的:(python3 分割字符串(多分割符))