作者热门文章
- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章python如何拆分含有多种分隔符的字符串由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
案例:
把某个字符串依据分隔符拆分,该字符包含不同的多种分隔符,如下 。
s = '12;;7.osjd;.jshdjdknx+' 。
其中 ; . + 是分隔符 。
有哪些解决方案?
方法1:通过str.split()方法,每次处理一个分隔符 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#!/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()方法,一次性拆分所有字符串,推荐 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#!/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)
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:http://www.cnblogs.com/2bjiujiu/p/7254085.html 。
最后此篇关于python如何拆分含有多种分隔符的字符串的文章就讲到这里了,如果你想了解更多关于python如何拆分含有多种分隔符的字符串的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一名优秀的程序员,十分优秀!