str.split()
描述
split()通過(guò)指定分隔符對(duì)字符串進(jìn)行切片,如果參數(shù)num 有指定值,則僅分隔 num 個(gè)子字符串。
語(yǔ)法
str.split(str="", num=string.count(str)).
參數(shù)
- str -- 分隔符,默認(rèn)為所有的空字符,包括空格、換行(\n)、制表符(\t)等。
- num -- 分割次數(shù)。
str.split不支持正則及多個(gè)切割符號(hào),不感知空格的數(shù)量,比如用空格切割.因此split只適合簡(jiǎn)單的字符分割
re.split()
支持正則及多個(gè)字符切割
>>> print line
abc aa;bb,cc | dd(xx).xxx 12.12' xxxx
按空格切
>>> re.split(r' ',line)
['abc', 'aa;bb,cc', '|', 'dd(xx).xxx', "12.12'\txxxx"]
加將空格放可選框內(nèi)[]內(nèi)
>>> re.split(r'[ ]',line)
['abc', 'aa;bb,cc', '|', 'dd(xx).xxx', "12.12'\txxxx"]
按所有空白字符來(lái)切割:\s([\t\n\r\f\v])\S(任意非空白字符[^\t\n\r\f\v]
>>> re.split(r'[\s]',line)
['abc', 'aa;bb,cc', '|', 'dd(xx).xxx', "12.12'", 'xxxx']
多字符匹配
>>> re.split(r'[;,]',line)
['abc aa', 'bb', "cc | dd(xx).xxx 12.12'\txxxx"]
>>> re.split(r'[;,\s]',line)
['abc', 'aa', 'bb', 'cc', '|', 'dd(xx).xxx', "12.12'", 'xxxx']
使用括號(hào)捕獲分組的適合,默認(rèn)保留分割符
re.split('([;])',line)
['abc aa', ';', "bb,cc | dd(xx).xxx 12.12'\txxxx"]
#就是說(shuō),多個(gè)元素之間之前的分隔符保持存在
去掉分隔符,加?:
>>> re.split(r'(?:;)',line)
['abc aa', "bb,cc | dd(xx).xxx 12.12'\txxxx"]
更多關(guān)注:
http://www.mknight.cn