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

Delete /n at end of a String (Python)

本问题已经有最佳答案,请猛点这里访问。

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

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

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

1
2
3
4
5
6
7
8
9
10
content = ['Source=C:\\Users\\app
'
, 'Target=C:\\Apache24\\htdocs']

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

print(content)


不能像尝试的那样更新字符串。python字符串是不可变的。每次更改字符串时,都会创建新实例。但是,您的列表仍然引用旧对象。所以,您可以创建一个新的列表来保存更新的字符串。为了去掉换行符,可以使用rstrip函数。看看下面的代码,

1
2
3
4
5
6
7
8
content = ['Source=C:\\Users\\app
'
, 'Target=C:\\Apache24\\htdocs']
updated = []
for string in content:
    print(string)
    updated.append(string.rstrip())

print(updated)

您可以使用rstrip函数。它从字符串中修剪任何"空"字符串,包括
,如下所示:

1
2
3
4
5
6
>>> a ="aaa
"

>>> print a
aaa
>>> a.rstrip()
'aaa'


要仅删除
,请使用以下命令:

1
2
string = string.rstrip('
'
)

当您执行string[0:-2]操作时,实际上从末尾删除了2个字符,而
是一个字符。

尝试:

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