首页 > 编程 > Python > 正文

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

2020-01-04 15:35:35
字体:
来源:转载
供稿:网友

案例:

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

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

       其中 ; . + 是分隔符

有哪些解决方案?

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

#!/usr/bin/python/305052.html">python/305536.html">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)

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


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表