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实现简单拆分PDF文件的方法
  • Python映射拆分操作符用法实例
  • Python字典数据对象拆分的简单实现方法
  • python分割和拼接字符串
  • Python 字符串操作实现代码(截取/替换/查找/分割)
  • 在Python中用split()方法分割字符串的使用介绍
  • python按照多个字符对字符串进行分割的方法
  • Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
  • Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
(0)

相关推荐

  • Python字典数据对象拆分的简单实现方法

    本文实例讲述了Python字典数据对象拆分的简单实现方法.分享给大家供大家参考,具体如下: 有朋友问了下问题: {'A1;A2': 'B','A3': 'C'}这种数据结构要拆解成{'A1':'B', 'A2': 'B', 'A3': 'C'},要如何实现? 这种问题,如果用普通的for循环来实现的话,还是有点麻烦: >>> dct = {'A1;A2': 'B','A3': 'C'} >>> tmp = {} >>> for k,v in dct.i

  • Python 字符串操作实现代码(截取/替换/查找/分割)

    Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾. 复制代码 代码如下: # 例1:字符串截取str = '12345678'print str[0:1]>> 1   # 输出str位置0开始到位置1以前的字符print str[1:6]  >> 23456   # 输出str位置1开始到位置6以前的字符num = 18str = '0000' + str(num) # 合并字符串pr

  • 在Python中用split()方法分割字符串的使用介绍

    split()方法返回的字符串中的所有单词的列表,使用str作为分隔符(如果在未指定的所有空格分割),可选择限当前分割为数量num. 语法 以下是split()方法的语法: str.split(str="", num=string.count(str)). 参数 str -- 这是任何分隔符,默认情况下是空格. num -- 这是要分割的行数. 返回值 此方法返回行列表. 例子 下面的示例演示了split()方法的使用. #!/usr/bin/python str = "Li

  • python分割和拼接字符串

    关于string的split 和 join 方法对导入os模块进行os.path.splie()/os.path.join() 貌似是处理机制不一样,但是功能上一样. 1.string.split(str=' ',num=string.count(str)): 以str为分隔,符切片string,如果num有指定值,则仅分隔num个子字符串.S.split([sep [,maxsplit]]) -> 由字符串分割成的列表 返回一组使用分隔符(sep)分割字符串形成的列表.如果指定最大分割数,则在

  • Python实现简单拆分PDF文件的方法

    本文实例讲述了Python实现简单拆分PDF文件的方法.分享给大家供大家参考.具体如下: 依赖pyPdf处理PDF文件 切分pdf文件 使用方法: 1)将要切分的文件放在input_dir目录下 2)在configure.txt文件中设置要切分的份数(如要切分4份,则设置part_num=4) 3)执行程序 4)切分后的文件保存在output_dir目录下 5)运行日志写在pp_log.txt中 P.S. 本程序可以批量切割多个pdf文件 from pyPdf import PdfFileWri

  • python按照多个字符对字符串进行分割的方法

    本文实例讲述了python按照多个字符对字符串进行分割的方法.分享给大家供大家参考.具体分析如下: 这段python代码通过这规则表达式对字符串进行分割,使用\w作为分割符,只要不是字母和数字的就会被分割开来. import re DATA = "Hey, you - what are you doing here! welcome to jb51?" print re.findall(r"[\w']+", DATA) 输出结果如下 复制代码 代码如下: ['Hey

  • Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例

    本文实例讲述了Python针对任意多的分隔符拆分字符串操作.分享给大家供大家参考,具体如下: 问题:将分隔符(以及分隔符之间的空格)不一致的字符串拆分为不同的字段: 解决方案:使用更为灵活的re.split()方法,该方法可以为分隔符指定多个模式. 说明:字符串对象的split()只能处理简单的情况,而且不支持多个分隔符,对分隔符周围可能存在的空格也无能为力. # example.py # # Example of splitting a string on multiple delimiter

  • Python映射拆分操作符用法实例

    本文实例讲述了Python映射拆分操作符用法.分享给大家供大家参考.具体如下: name="jack" age=24 s="name is {name} and age is {age}".format(**locals()) print s 运行结果如下: name is jack and age is 24 希望本文所述对大家的Python程序设计有所帮助.

  • Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

    去空格及特殊符号 s.strip().lstrip().rstrip(',') Python strip() 方法用于移除字符串头尾指定的字符(默认为空格). 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2 连接字符串 #strcat(sStr1,sStr2) sStr1 = 'strcat' sStr2 = 'append' sStr1 += sStr2 print

  • 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.spl

  • MySQL 字符串拆分实例(无分隔符的字符串截取)

    无分隔符的字符串截取 题目要求 数据库中字段值: 实现效果:需要将一行数据变成多行 实现的sql SELECT LEFT(SUBSTRING('P1111',help_topic_id+1),1) AS num FROM mysql.help_topic WHERE help_topic_id < LENGTH('P1111'); 涉及的知识点 一.字符串截取:SUBSTRING(str,pos) 1.参数说明 参数名 解释 str 被截取的字符串 pos 从第几位开始截取,当 pos 为正数时

  • MySQL 字符串拆分操作(含分隔符的字符串截取)

    无分隔符的字符串截取 题目要求 数据库中字段值: 实现效果:需要将一行数据变成多行 实现的sql SELECT LEFT(SUBSTRING('P1111',help_topic_id+1),1) AS num FROM mysql.help_topic WHERE help_topic_id < LENGTH('P1111'); 涉及的知识点 一.字符串截取:SUBSTRING(str,pos) 1.参数说明 参数名 解释 str 需要拆分的字符串 delim 分隔符,通过某字符进行拆分 co

  • Python中拆分字符串的操作方法

    使用字符串时,常见的操作之一是使用给定的分隔符将字符串拆分为子字符串数组.在本文中,我们将讨论如何在Python中拆分字符串. .split()方法 在Python中,字符串表示为不可变的str对象. str类带有许多字符串方法,允许您操作字符串. .split()方法返回由分隔符分隔的子字符串列表. 它采用以下语法: str.split(delim=None, maxsplit=-1) 分隔符可以是字符或字符序列,而不是正则表达式. 在下面的示例中,字符串s将使用逗号分隔,作为分隔符. s =

  • Python定义一个跨越多行的字符串的多种方法小结

    方法一: >>> str1 = '''Le vent se lève, il faut tenter de vivre. 起风了,唯有努力生存. (纵有疾风起,人生不言弃.)''' >>> str1 'Le vent se lève, il faut tenter de vivre. \n起风了,唯有努力生存.\n(纵有疾风起,人生不言弃.)' 编辑的时候,引号挺对的,但是不知道为什么发布的时候,第一行的引号总是多了一些,其实应该是下面这样的: 不过感觉这种方法不够纯粹

  • Python模拟登录的多种方法(四种)

    正文 方法一:直接使用已知的cookie访问 特点: 简单,但需要先在浏览器登录 原理: 简单地说,cookie保存在发起请求的客户端中,服务器利用cookie来区分不同的客户端.因为http是一种无状态的连接,当服务器一下子收到好几个请求时,是无法判断出哪些请求是同一个客户端发起的.而"访问登录后才能看到的页面"这一行为,恰恰需要客户端向服务器证明:"我是刚才登录过的那个客户端".于是就需要cookie来标识客户端的身份,以存储它的信息(如登录状态). 当然,这也

  • Python使用中文正则表达式匹配指定中文字符串的方法示例

    本文实例讲述了Python使用中文正则表达式匹配指定中文字符串的方法.分享给大家供大家参考,具体如下: 业务场景: 从中文字句中匹配出指定的中文子字符串 .这样的情况我在工作中遇到非常多, 特梳理总结如下. 难点: 处理GBK和utf8之类的字符编码, 同时正则匹配Pattern中包含汉字,要汉字正常发挥作用,必须非常谨慎.推荐最好统一为utf8编码,如果不是这种最优情况,也有酌情处理. 往往一个具有普适性的正则表达式会简化程序和代码的处理,使过程简洁和事半功倍,这往往是高手和菜鸟最显著的差别.

  • Python数据类型详解(一)字符串

    一.基本数据类型 整数:int 字符串:str(注:\t等于一个tab键) 布尔值: bool 列表:list 列表用[] 元祖:tuple 元祖用() 字典:dict 注:所有的数据类型都存在想对应的类列里 二.字符串所有数据类型: 基本操作: 索引,切片,追加,删除,长度,切片,循环,包含 class str(object): """ str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -

  • python去掉空白行的多种实现代码

    测试代码 jb51.txt 1:www.jb51.net 2:www.jb51.net 3:www.jb51.net 4:www.jb51.net 5:www.jb51.net 6:www.jb51.net 7:www.jb51.net 8:www.jb51.net 9:www.jb51.net 10:www.jb51.net 11:www.jb51.net 12:www.jb51.net 13:www.jb51.net 14:www.jb51.net 15:www.jb51.net 16:ww

  • python 字段拆分详解

    按照固定的字符,拆分已有的字符串 split(sep, n, expand = False) :sep:用于分割的字符串 n:分割为多少列 expand:是否展开为数据框,默认值为False (expand为True,返回DataFrame.False,Series) from pandas import read_csv; df = read_csv('F://baiduNetdisk//pytorch//4//4.7//data.csv') df = df.astype(str) df3 =

随机推荐