python按特定字符分割字符串,分割字符串 python
Python中常见的字符串分段方法是直接调用string的str.split方法,但只能指定一个分隔符。如果要指定多个分隔符来拆分字符串,需要使用re.split方法(正则表达式的split方法)。
str.split string的split方法函数的原型如下,其中sep是指定的分隔符,maxsplit是最大拆分次数:
Str.split(sep=None,maxsplit=-1)默认情况下,如果没有指定分隔符,字符串将使用空白字符(空格、回车、制表符等)进行拆分。)作为分隔符:
S= ab \ tc \ nd s.split () [a , b , c , d]在结果列表中,将不包括空字符串:
S= ab \ TC \ nd \ n \ n s.split () [a , b , c , d]指定分隔符:
S= www.google.com s.split( . )[www , Google , com] s= AA BB CC DD的S.split () [AA , BB ,
S= www.google.com s.split( . ,1) [www , google.com] s= AA BB CC DD的S.split ( ,2) [AA , BB
但是,字符串的split方法只能指定一个分隔符,如下所示:
BBBB AAAA:CCCC;Dd 如果要指定逗号、冒号、分号作为分隔符,字符串的拆分方法就不行了。这时,你应该在正则表达式中使用split方法。
re.split正则表达式的split方法原型如下,其中pattern是指定的拆分正则表达式,string是要拆分的字符串,maxsplit是最大拆分次数,flags是正则表达式使用的常用标志:
Re.split (pattern,string,maxsplit=0,flags=0)参考示例:
BBBB AAAA进口:CCCC;DDDD re.split(r[,],s) [AAAA , BBBB , CCCC , DDDD]如果在正则表达式中使用了捕获组,即括号,则捕获的内容也将包含在结果列表中:
BBBB AAAA进口:CCCC;DDDD re.split(r([,]),s)[AAAA ,,, BBBB ,:, CCCC ,;, DDDD]如果您不希望在结果中看到分隔符,但是仍然希望用括号将正则表达式模式分组,那么可以使用带有(?),有以下例子:
BBBB AAAA进口:CCCC;DDDD re.split(r (?[,]),s) [AAAA , BBBB , CCCC , DDDD]指定最大分割数:
BBBB AAAA进口:CCCC;DDDD re.split(r[,],s,1)[AAAA , BBBB:CCCC;DDDD] re.split(r[,],s,2)[AAAA , BBBB , CCCC;DD]可以看出,当指定最大分割数maxsplit时,结果列表的长度为maxsplit 1。
在正则表达式中指定常规标志标志:
导入re . re . split([a-f], 0a3B9 ,flags=re。IGNORECASE)[0 , 3 , 9]
更多Python视频、源代码和资料可免费获取,电话:725638078。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。