无法从文本文件中删除/ n和/ n / n

时间:2018-05-30 01:14:12

标签: python python-3.x

我有一个包含如下字符串的文件: enter image description here

现在,我想摆脱所有/n/n/n。这是我写的代码,但它不起作用!有人可以告诉我这段代码有什么问题吗?另外,我想保留真正的新行,因为后来我希望能够读取每一行并处理它。

lin=read_file.read()
print(line.strip().strip("").strip('\n').strip('\t').replace(r"\n\n","_").replace('\r\n', ' '));

2 个答案:

答案 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()