我正在尝试在字符串列表中取一个字符串并删除所有空格,同时用逗号分隔非空格。例如,我有字符串:
' XX XX X XXXXXX XX XXXXXXX XXXXX'
并需要将其作为['XX', 'XX', 'X', 'XXXXXX', 'XX', 'XXXXXXX', 'XXXXX']
返回。有什么建议?
注意:每个细分之间的空间量会有所不同。
答案 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']