分割python多空格字符串的两种方法小结
作者:lwgkzl
这篇文章主要介绍了分割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.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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。