现在,我想摆脱所有/n
和/n/n
。这是我写的代码,但它不起作用!有人可以告诉我这段代码有什么问题吗?另外,我想保留真正的新行,因为后来我希望能够读取每一行并处理它。
lin=read_file.read()
print(line.strip().strip("").strip('\n').strip('\t').replace(r"\n\n","_").replace('\r\n', ' '));
答案 0 :(得分:2)
您需要转义\
。
e.g。
.replace('\\n', ' ')
如果您尝试替换\n
,它会尝试替换新行,但是,通过转义\
,它会尝试替换字符串\n
。
答案 1 :(得分:2)
@TwiN解决方案基本上是正确的。我认为您很可能希望将\\n
替换为\n
。然后文本将显示格式正确。
解决方案是执行与@TwiN类似的操作,但将'\\n'
替换为" real"换行'\n'
:
line.replace('\\n', '\n')
现在,您遇到的另一个问题是您没有将更改保存到文件中。为此,您需要以'r+'
模式打开文件:
警告:这会更改您的文件!在运行此代码之前复制一份!
with open('clinicaltrials_051817_Not_Null.txt', 'r+') as f:
lines = f.readlines()
new_lines = [line.replace('\\n', '\n') for line in lines]
f.seek(0)
f.writelines(new_lines)
f.truncate()