在字符串末尾删除/ n(Python)

时间:2015-12-15 09:29:46

标签: python

如何删除字符串末尾的/n换行符?

我正在尝试从.txt文件中读取两个字符串,并希望在我“清除”字符串后使用os.path.join()方法对其进行格式化。

在这里你可以看到我尝试使用虚拟数据:

content = ['Source=C:\\Users\\app\n', 'Target=C:\\Apache24\\htdocs']

for string in content:
    print(string)
    if string.endswith('\\\n'):
        string = string[0:-2]

print(content)

4 个答案:

答案 0 :(得分:4)

您无法像尝试那样更新字符串。 Python字符串是不可变的。每次更改字符串时,都会创建新实例。但是,您的列表仍然引用旧对象。因此,您可以创建一个新列表来保存更新的字符串。要删除换行符,您可以使用rstrip函数。看看下面的代码,

content = ['Source=C:\\Users\\app\n', 'Target=C:\\Apache24\\htdocs']
updated = []
for string in content:
    print(string)
    updated.append(string.rstrip())

print(updated)

答案 1 :(得分:3)

您可以使用rstrip功能。它可以修剪任何空的'字符串中包含\n的字符串,如下所示:

>>> a = "aaa\n"
>>> print a
aaa
>>> a.rstrip()
'aaa'

答案 2 :(得分:0)

执行string[0:-2]时,实际上是从结尾删除了2个字符,而\n是一个字符。

尝试:

content = map(lambda x: x.strip(), content)

答案 3 :(得分:0)

要仅删除\n,请使用此选项:

string = string.rstrip('\n')