天天看點

Python進階程式設計技巧實戰學習_Day08

學習資源傳送門:Python進階程式設計技巧實戰_哔哩哔哩 (゜-゜)つロ 幹杯~-bilibili

(一)學習内容:如何拆分含有多種分隔符的字元串 

Python進階程式設計技巧實戰學習_Day08

(二)解決方案 

Python進階程式設計技巧實戰學習_Day08

(三)代碼

①方法一:連續使用str.spilt()方法,每次處理一種分隔符;

def mysplit(s, ds):
    res = [s]

    for d in ds:
        t = []
        #t.extend(x.split(d)):此處,extend将x.aplit(d)傳回的結果的元素,添加到t中
        [t.extend(x) for x in map(lambda x: x.split(d), res)]
        res = t
    #去除空清單裡的空字元串
    return [x for x in res if x]

s = 'ab,cd,;aef;,;gh;aij|kl|amb\top\tqr'
print(mysplit(s, ';,|\t'))
           

②方法二:使用正規表達式的re.split()方法,一次性拆分字元串(更快捷友善)

import re
s = 'ab,cd,;aef;,;gh;aij|kl|amb\top\tqr'
s1 = re.split('[,;|\t]*', s)
#去除s1中的空字元串
print([x for x in s1 if x])
           

————————————————————————

參考:問題14:如何拆分含有多種分隔符的字元串 - 不夜男人 - 部落格園 (cnblogs.com)