温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python怎么拆分含有多种分隔符的字符串

发布时间:2021-02-19 10:12:08 来源:亿速云 阅读:129 作者:小新 栏目:开发技术

小编给大家分享一下python怎么拆分含有多种分隔符的字符串,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

案例:

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

       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怎么拆分含有多种分隔符的字符串”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI