Python如何拆分含有多種分隔符的字符串
更新時間:2024年02月09日 09:52:29 作者:AllardZhao
這篇文章主要介紹了Python如何拆分含有多種分隔符的字符串問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
如何拆分含有多種分隔符的字符串?
實際案例
我們要把某個字符串依據(jù)分隔符號拆分不同的字段
該字符串包含多種不同的分隔符
例如:
s = 'ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz'
其中"<,><;><|><\t>"都是分隔符號,如何處理?
解決方案
- 方法1:連續(xù)使用str.split()方法,每次處理一種分隔符號。
- 方法2:使用正則表達式的re.split()方法,一次性拆分字符串。
代碼演示
# 單一分隔符 str1 = 'root 12125 0.0 0.0 33679596 904 ?? SNs 五02下午' \ ' 0:00.01 /usr/libexec/per' print(str1.split()) ''' str.spilt用法介紹: split(sep=None, maxsplit=-1) -> list of strings seq為分隔符參數(shù)默認為空白字符(whitespace),包含空格、制表符(\t)、換行(\n)、回車(\r) seq不同同時傳入多個分隔符,只能每次傳入一種 ''' # 多種不同的分隔符 # 方法1:連續(xù)多次使用str.split方法,每次處理一種分隔符 def my_split(s, ds): # s1:待分隔字符串,ds:包含所有分隔符的字符串 """ 需要注意有種情形是連續(xù)兩個分隔符,如'i,,j' 列表中會出現(xiàn)空字符串,此時就需要對結(jié)果進行過濾。 """ res = [s] for d in ds: t = [] list(map(lambda x: t.extend(x.split(d)), res)) res = t # 使用列表解析過濾空字符串 return [x for x in res if x] s1 = 'ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz' print(my_split(s1, ';,|\t')) # 方法2(推薦):使用正則表達式re.split ''' re.split方法介紹: split(pattern, string, maxsplit=0, flags=0) pattern為正則表達式,可以使用正則進行多種分隔符切割 ''' import re s2 = 'ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz' # 中括號中為分隔符,+號表示前面字符1個或多個 str2 = re.split('[,;\t|]+', s2) print(str2) ''' 需要注意的是,對于單一分隔符的情況使用str.split效率會更快一些, 但是不能同時處理多個分隔符,對于多個分隔符情況使用re.split。 '''
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
tensorflow實現(xiàn)測試時讀取任意指定的check point的網(wǎng)絡(luò)參數(shù)
今天小編就為大家分享一篇tensorflow實現(xiàn)測試時讀取任意指定的check point的網(wǎng)絡(luò)參數(shù),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01python統(tǒng)計列表中元素出現(xiàn)次數(shù)的三種方法
這篇文章主要介紹了python統(tǒng)計列表中元素出現(xiàn)次數(shù)的三種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08Python?pywin32實現(xiàn)word與Excel的處理
這篇文章主要介紹了Python?pywin32實現(xiàn)word與Excel的處理,pywin32處理Word大多數(shù)用于格式轉(zhuǎn)換,因為一般讀寫操作都可以借助python-docx實現(xiàn),除非真的有特殊要求,但大部分企業(yè)對Wrod操作不會有太多復(fù)雜需求2022-08-08python中DataFrame常用的描述性統(tǒng)計分析方法詳解
這篇文章主要介紹了python中DataFrame常用的描述性統(tǒng)計分析方法詳解,描述性統(tǒng)計分析是通過圖表或數(shù)學(xué)方法,對數(shù)據(jù)資料進行整理、分析,并對數(shù)據(jù)的分布狀態(tài)、數(shù)字特征和隨機變量之間的關(guān)系進行估計和描述的方法,需要的朋友可以參考下2023-07-07Python?實現(xiàn)一個全連接的神經(jīng)網(wǎng)絡(luò)
這篇文章主要介紹了Python?實現(xiàn)一個全連接的神經(jīng)網(wǎng)絡(luò),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-06-06