python如何拆分含有多种分隔符的字符串
案例:
把某个字符串依据分隔符拆分,该字符包含不同的多种分隔符,如下
s='12;;7.osjd;.jshdjdknx+'
其中;.+是分隔符
有哪些解决方案?
方法1:通过str.split()方法,每次处理一个分隔符
#!/usr/bin/python3 defgo_split(s,symbol): result=[s] foriinsymbol: median=[] #普通方法 #forxinresult: #median.extend(x.split(i) #列表解析 #[median.extend(y.split(i))foryinresultify] #map高阶函数,map生成可迭代对象 forzinmap(lambdax:x.split(i),result): median.extend(z) #以上三个方法都可以解决问题 result=median #去除空字符串 return[xforxinresultifx] if__name__=="__main__": #定义初始字符串 s='12;;7.osjd;.jshdjdknx+' #定义分隔符 symbol=';./+' result=go_split(s,symbol) print(result)
方法2:通过re.split()方法,一次性拆分所有字符串,推荐
#!/usr/bin/python3 importre defgo_split(s,symbol): #拼接正则表达式 symbol="["+symbol+"]+" #一次性分割字符串 result=re.split(symbol,s) #去除空字符 return[xforxinresultifx] if__name__=="__main__": #定义初始字符串 s='12;;7.osjd;.jshdjdknx+' #定义分隔符 symbol=';./+' result=go_split(s,symbol) print(result)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。