分割python多空格字符串
这篇文章需要处理的问题就是:
一个字符串被多个不同长度的空白分割,我需要把空格去掉,留下有用的信息形成一个列表
如:"aa bbbbb ccc d" ----》['aa', 'bbbbb', 'ccc', 'd']
做法
1.str.split()
2.filter(None,str.split(" "))
直接用str.split(" ")是不行的,他只会分割一个空格,如下
def test_filter():
str = "aa bbbbb ccc d"
str_list = str.split(" ")
print str_list
结果:
第一种做法
实际上,split()函数默认可以按空格分割,并且把结果中的空字符串删除掉,留下有用信息
def test_filter():
str = "aa bbbbb ccc d"
str_list = str.split()
print str_list
结果:
第二种做法
可以用filter函数对split(“ ”)进行过滤
def test_filter():
str = "aa bbbbb ccc d"
str_list = filter(None,str.split(" "))
print str_list
结果:
filter第一个参数是None的时候,返回第二个参数中非空的值。
可能第一种做法更方便一些。
如何分割字符串
很少有示例向您展示如何在Python中将字符串拆分为列表。
1.按空格分割
默认情况下, split()将空格用作分隔符。
alphabet = "a b c d e f g"
data = alphabet.split() #split string into a list
for temp in data:
print temp
输出量
a
b
c
d
e
f
g
2.分割+最大分割
仅按前2个空格分割。
alphabet = "a b c d e f g"
data = alphabet.split(" ",2) #maxsplit
for temp in data:
print temp
输出量
a
b
c d e f g
3.用#分割
又一个例子。
url = "mkyong.com#100#2015-10-1"
data = url.split("#")
print len(data) #3
print data[0] # mkyong.com
print data[1] # 100
print data[2] # 2015-10-1
for temp in data:
print temp
输出量
3
mkyong.com
100
2015-10-1
mkyong.com
100
2015-10-1
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。