这是我的file.txt:

Egg and Bacon;
Egg, sausage and Bacon
Egg and Spam;
Spam Egg Sausage and Spam;
Egg, Bacon and Spam;

我想将newLine'\n'转换为'$'。我只是用过:
f = open(fileName)
text = f.read()
text = text.replace('\n',' $ ')
print(text)

这是我的输出:
$ Spam Egg Sausage and Spam;

和我的输出必须是这样的:
Egg and Bacon; $ Egg, sausage and Bacon $ Egg ...

我究竟做错了什么?我正在使用#-*- encoding: utf-8 -*-
谢谢你。

最佳答案

您的换行符可能表示为\r\n。为了替换它们,您应该执行以下操作:

text.replace('\r\n', ' $ ')

对于可在类似UNIX的系统(使用\n)和Windows(使用\r\n)上运行的便携式解决方案,可以使用正则表达式替换文本:
>>> import re
>>> re.sub('\r?\n', ' $ ', 'a\r\nb\r\nc')
'a $ b $ c'
>>> re.sub('\r?\n', ' $ ', 'a\nb\nc')
'a $ b $ c'

10-08 06:47
查看更多