从字符串中删除空格。

3

我做不到,并且我无法弄清楚问题出在哪里。我试图去除空格的列表如下:

['L500', '    ', '622651    ', '2007', '   452295.00', '        7420', '   0']

但是这些字符串之间有空格。我尝试过 lstrip, rstrip, regex, split, join, replace 等方法,但没有任何有效的结果。列表没有改变。

for item in row:
            item.lstrip()
            item.rstrip()
            print row

这是我的代码。用我提到的其他方法替换 lstrip 和 rstrip。

我正在使用 Python 2.7。


a) 你想用哪种语言? b) 你想从条目中去除空格,例如'L500'变成'L500',还是想从数组/列表中删除空字符串? - Dominik Sandjaja
1
你的示例中没有包含空格,这是有意为之吗? - Master117
抱歉,我正在使用Python。 - KSHMR
我想删除所有空格,但要保留空字符串。 - KSHMR
我提交时空格被删除了。 - KSHMR
显示剩余2条评论
3个回答

7
Python中的字符串(以及许多其他语言)是不可变的。这意味着,当您对字符串执行操作时,会返回该字符串的一个新实例,而不是更改现有项。要达到您想要的效果,您必须重新分配列表中的项。
for index, item in enumerate(row):
    row[index] = item.strip()

非常感谢!很抱歉我忘记了字符串是不可变的。我是Python的新手。 - KSHMR

4

使用列表推导:

row = [x.strip() for x in row]

如果您不想重新绑定变量,可以使用以下方法:row[:] = [x.strip() for x in row] - Matthias
在Python 3中,这将返回生成器。不,它不会。它会返回一个列表。 - DSM

3

另一种方法:

>>> row = map(lambda x: x.strip(), row)

1
row = map(str.strip, row) 更快。 - Kiro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接