我这里有两个字符串:
line= ['ABDFDSFGSGA', '32\n']
line= ['NBMVA\n']
如何从这些字符串的末尾删除\n
。我已尝试rstrip()
和strip()
,但我仍然无法从字符串中删除\n
。我可以帮忙删除吗?
答案 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]