如何拆分含有多种分隔符的字符串(把字符串拆分为四个字符串)

网友投稿 275 2022-06-19


方法1:连续使用str.split()方法,每次处理一种分隔符号

s = 'ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz'

def my_split(s, seps):

res = [s]

for sep in seps:

t = []

list(map(lambda ss: t.extend(ss.split(sep)), res))

res = t

return res

#reduce + split

from functools import reduce

my_split2 = lambda s, seps: reduce(lambda l, sep: sum(map(lambda ss: ss.split(sep), l), []), seps, [s])

my_split2(s, ',;|\t')

执行结果:

['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz']

方法2:使用正则表达式的re.split()方法(推荐)

s = 'ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz'

import re

re.split('[;,|\t]+', s)

执行结果:

['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz']


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用 Scrapy 的 ImagesPipeline 下载图片(使用合四一上尺工凡等字样为唱名的是)
下一篇:Python中Pyyaml模块的使用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~