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

Posted richardo-m-q

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何拆分含有多种分隔符的字符串?相关的知识,希望对你有一定的参考价值。

需求:
我们要把某个字符串依据分隔符号拆分不同的字段,该字符串包含多种不同的分隔符,例如:
s = ‘ab;cd|efg|hj,jkl|mn pq;rst,uvw xyz‘
其中<,>,<;>,<|>,< >都是分隔符号,如何处理?
思路:
1、连续使用str.split()方法,每次处理一种符号
2、使用正则表达式re.split()方法,一次性拆分字符串。推荐方法
代码:
方法一:

def mySplit(s,ds):
    res = [s]

    for d in ds:
        t = []
        list(map(lambda x: t.extend(x.split(d)),res))  #因为map使用res中的每一个元素分别进行切割,返回一个二维的列表,所以需要引入t这个空列表,将二维的列表转成一维的列表,list必须要,否则等到空列表结果
        res = t
        print(res)
    
    return [x for x in res if x ]  #这里是为了防止字字符串中存在连续的两个以上的分隔符造成返回的空字符串的问题,去除结果中的空字符串。

s = ‘ab;cd|efg|hj,jkl|mn	pq;rst,uvw	xyz‘

print(mySplit(s,‘;,|	‘))

方法二:

import re

s = ‘ab;cd|efg|hj,jkl|mn	pq;rst,uvw	xyz‘

print(re.split(r‘[,;	|]+‘,s))  # 这里+号表示至少存在[]中的一种或者一种以上的分隔符








以上是关于如何拆分含有多种分隔符的字符串?的主要内容,如果未能解决你的问题,请参考以下文章

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

问题14:如何拆分含有多种分隔符的字符串

拆分含有多种分隔符的字符串

13如何拆分含有多种分隔符的字符串 14如何判断字符串a是否以字符串b开头或结尾 15如何调整字符串中文本的格式 16如何将多个小字符串拼接成一个大的字符串

7.python3实用编程技巧进阶

7.python3实用编程技巧进阶