怎么處理Python分割字符串時(shí)有多個(gè)分隔符
在使用 Python 處理字符串的時(shí)候,有時(shí)候會(huì)需要分割字符。 分隔符比如下劃線 “_”,比如 “.”之類的。
一個(gè)分隔符 比如對(duì)于文件名 20191022_log.zip,我們想要獲取前面的日期。 如果日期格式固定,對(duì)于這樣的字符串我們當(dāng)然可以使用索引進(jìn)行切割。 當(dāng)然也可以使用字符串的內(nèi)建函數(shù) split(). 結(jié)果返回的是一個(gè)列表。 如果分隔符不在字符串之列,那么返回的也是一個(gè)列表,不過(guò)元素只有一個(gè),那就是這個(gè)字符串自身: 多個(gè)分隔符 還是上面那個(gè)例子,如果字符串是 ‘log_20191022.zip' 這個(gè)形式,想要獲取日期,有兩種方法, 一種方法是使用能夠 下劃線作為分隔符獲取結(jié)果的第一個(gè)元素,然后再使用 點(diǎn) '.'作為分隔符再劃分一遍。 另一種方法就是直接使用 re.split() 。
因?yàn)?字符串的 split() 函數(shù)不能接受兩個(gè)分隔符作為參數(shù)。 re.split() 的使用方法如下: 以豎杠 | 作為分割分開(kāi)兩個(gè)分隔符,如果有多個(gè)分隔符,則可以使用多個(gè) | ,在上述例子中,因?yàn)辄c(diǎn) . 是在正則里有特殊的匹配含義,所以需要使用 \ 反斜杠對(duì)其進(jìn)行轉(zhuǎn)義。
字符串方法str.split()幫助:
>>> help(str.split) Help on method_descriptor: split(self, /, sep=None, maxsplit=-1) Return a list of the words in the string, using sep as the delimiter string. sep The delimiter according which to split the string. None (the default value) means split according to any whitespace, and discard empty strings from the result. maxsplit Maximum number of splits to do. -1 (the default value) means no limit. >>>
用法: string.split( sep = None, maxsplit = -1)
string 要操作字符串
sep 分隔符,默認(rèn)值為whitespace空白符
maxsplit 最大分割次數(shù),默認(rèn)值為-1,表示無(wú)限制
如果同時(shí)有多個(gè)分隔符怎么分割呢?
可以用循環(huán)多次分割來(lái)實(shí)現(xiàn),例如:
>>> s = '6[5,12]3[2,6]1;35]67[8;9;11]12' >>> for j in '[],;': t=[i.split(j) for i in t] t=[i for j in t for i in j] >>> t ['6', '5', '12', '3', '2', '6', '1', '35', '67', '8', '9', '11', '12'] >>>
懂正則表達(dá)式的可以一步到位:
>>> import re >>> s = '6[5,12]3[2,6]1;35]67[8;9;11]12' >>> re.split('\[|\]|,|;',s) ['6', '5', '12', '3', '2', '6', '1', '35', '67', '8', '9', '11', '12']
到此這篇關(guān)于Python分割字符串時(shí)有多個(gè)分隔符怎么處理的文章就介紹到這了,更多相關(guān)Python分割字符串時(shí)有多個(gè)分隔符怎么處理內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。