-1

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

'        XX       XX          X   XXXXXX   XX               XXXXXXX    XXXXX'

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

注意:每个段之间的空间量各不相同。

4

3 回答 3

10

使用str.split(),它完全符合您的需要,在任意宽度的空格上分割:

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

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

引用文档:

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

于 2013-09-04T14:59:40.130 回答
5

没有比这更简单的了:

my_string.split()

例子:

>>> '        XX       XX          X   XXXXXX   XX  '.split()
['XX', 'XX', 'X', 'XXXXXX', 'XX']
于 2013-09-04T14:59:06.390 回答
1

只是split()它:

s =  s = '        XX       XX          X   XXXXXX   XX               XXXXXXXX    XXXXX'
print s.split() # prints ['XX', 'XX', 'X', 'XXXXXX', 'XX', 'XXXXXXXX', 'XXXXX']
于 2013-09-04T15:01:12.060 回答