好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

分割python多空格字符串的两种方法小结

分割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测试数据#100#2015-10-1"
data = url.split("#")
?
print len(data) #3
print data[0] ?# mkyong测试数据
print data[1] ?# 100
print data[2] ?# 2015-10-1
?
for temp in data:
? ? print temp

输出量

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

查看更多关于分割python多空格字符串的两种方法小结的详细内容...

  阅读:55次