从文本文件中删除特殊字符但保留新行(Python)

时间:2017-11-23 21:31:22

标签: python special-characters

我有一个如下所示的文本文件:

不要

不能

会不会

应该不是

我的目标是从文本文件中删除所有特殊字符,同时为每个单词保留新行。输出应如下所示:

不要

广东话

惯于

不应该

我目前正在使用以下代码:

import re

class TextCleaner:
    uncleanText = open("words.txt").read()
    cleanText = re.sub('[^A-Za-z0-9]+', '', uncleanText)
    open('words.txt', 'w').write(cleanText)

但是,这会输出以下内容: DontCantWontShouldnt

我可以在使用正则表达式保留新行的同时实现我的主要目标吗?

1 个答案:

答案 0 :(得分:0)

您可以添加\n以保留新行,或添加\s以保留任何空格。对于\s,这是代码:

import re

class TextCleaner:
    uncleanText = open("words.txt").read()
    cleanText = re.sub('[^A-Za-z0-9\s]+', '', uncleanText)
    open('words.txt', 'w').write(cleanText)