如何从列表中的字符串末尾删除'\ n'?

时间:2014-01-24 05:37:33

标签: python

我这里有两个字符串:

line= ['ABDFDSFGSGA', '32\n']
line= ['NBMVA\n']

如何从这些字符串的末尾删除\n。我已尝试rstrip()strip(),但我仍然无法从字符串中删除\n。我可以帮忙删除吗?

3 个答案:

答案 0 :(得分:8)

您需要访问要从列表中删除的元素:

line= ['ABDFDSFGSGA', '32\n']

#We want to strip all elements in this list
stripped_line = [s.rstrip() for s in line]

你可能做错了,就是简单地拨打line[1].rstrip()。这不起作用,因为rstrip方法不起作用inplace,但返回一个被剥离的新字符串。

示例:

>>> a = 'mystring\n'
>>> a.rstrip()
Out[22]: 'mystring'
>>> a
Out[23]: 'mystring\n'
>>> b = a.rstrip()
>>> b
Out[25]: 'mystring'

答案 1 :(得分:6)

行的类型是list,因此您无法应用任何strip方法。 strip方法适用于字符串。

您需要遍历列表并对该列表中的每个字符串应用rstrip()方法。

>>> line= ['ABDFDSFGSGA', '32\n']
>>> map(str.rstrip, line)
['ABDFDSFGSGA', '32']

答案 2 :(得分:4)

您可以使用.replace('\n','')但请注意,这会删除\n的所有实例。如果您想对整个列表执行此操作,您可以这样做:

line = [i.replace('\n','') for i in line]