如何在python中删除字符串中的空格?

时间:2013-09-04 14:57:48

标签: python string whitespace

我正在尝试在字符串列表中取一个字符串并删除所有空格,同时用逗号分隔非空格。例如,我有字符串:

'        XX       XX          X   XXXXXX   XX               XXXXXXX    XXXXX'

并需要将其作为['XX', 'XX', 'X', 'XXXXXX', 'XX', 'XXXXXXX', 'XXXXX']返回。有什么建议?

注意:每个细分之间的空间量会有所不同。

3 个答案:

答案 0 :(得分:10)

使用str.split()完全 你需要的东西,在任意宽度的空格上分割:

>>> example = '        XX       XX          X   XXXXXX   XX               XXXXXXXX    XXXXX'
>>> example.split()
['XX', 'XX', 'X', 'XXXXXX', 'XX', 'XXXXXXXX', 'XXXXX']

请注意,前导空格也已被删除。

引用文档:

  

如果未指定 sep None,则应用不同的拆分算法:连续空格的运行被视为单个分隔符,结果将不包含空字符串如果字符串具有前导或尾随空格,则为开始或结束。因此,将空字符串或仅包含空格的字符串与None分隔符分开将返回[]

答案 1 :(得分:5)

没有比这更简单:

my_string.split()

示例:

>>> '        XX       XX          X   XXXXXX   XX  '.split()
['XX', 'XX', 'X', 'XXXXXX', 'XX']

答案 2 :(得分:1)

只需split()

s =  s = '        XX       XX          X   XXXXXX   XX               XXXXXXXX    XXXXX'
print s.split() # prints ['XX', 'XX', 'X', 'XXXXXX', 'XX', 'XXXXXXXX', 'XXXXX']