python

超轻量级php框架startmvc

python如何拆分含有多种分隔符的字符串

更新时间:2020-05-25 03:24:01 作者:startmvc
案例:      把某个字符串依据分隔符拆分,该字符包含不同的多种分

案例:

       把某个字符串依据分隔符拆分,该字符包含不同的多种分隔符,如下

       s = '12;;7.osjd;.jshdjdknx+'

       其中 ; . + 是分隔符

有哪些解决方案?

方法1:通过str.split()方法,每次处理一个分隔符


#!/usr/bin/python3
 
 
def go_split(s, symbol):
 result = [s]
 for i in symbol:
 median = []
 # 普通方法
 # for x in result:
 # median.extend(x.split(i)
 
 # 列表解析
 # [median.extend(y.split(i)) for y in result if y]
 
 # map高阶函数,map生成可迭代对象
 for z in map(lambda x: x.split(i), result):
 median.extend(z)
 
 # 以上三个方法都可以解决问题
 result = median
 
 # 去除空字符串
 return [x for x in result if x]
 
if __name__ == "__main__":
 # 定义初始字符串
 s = '12;;7.osjd;.jshdjdknx+'
 # 定义分隔符
 symbol = ';./+'
 
 result = go_split(s, symbol)
 print(result)

方法2:通过re.split()方法,一次性拆分所有字符串,推荐


#!/usr/bin/python3
 
import re
 
 
def go_split(s, symbol):
 # 拼接正则表达式
 symbol = "[" + symbol + "]+"
 # 一次性分割字符串
 result = re.split(symbol, s)
 # 去除空字符
 return [x for x in result if x]
 
 
if __name__ == "__main__":
 # 定义初始字符串
 s = '12;;7.osjd;.jshdjdknx+'
 # 定义分隔符
 symbol = ';./+'
 
 result = go_split(s, symbol)
 print(result)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python拆分字符串 python str.split python re.split()