Python 从文本中删除除“以外的所有特殊字符”\";及/&引用;

Python 从文本中删除除“以外的所有特殊字符”\";及/&引用;,python,nlp,Python,Nlp,从这篇文章中,我发现了如何删除文本中除空格和字母数字以外的所有内容: 这样: re.sub(r'([^\s\w]|_)+', '', document) 我想基本上删除所有的特殊字符 但是,现在我想做同样的事情(即删除所有特殊字符),但不删除以下特殊字符: \n / 如何做到这一点?我可能缺少完整的用例,但您可以在没有regex的情况下做到这一点: s = "test\r\n\\ this\n" s = ''.join(char for char in s if char.isalnum()

从这篇文章中,我发现了如何删除文本中除空格和字母数字以外的所有内容:

这样:

re.sub(r'([^\s\w]|_)+', '', document)
我想基本上删除所有的特殊字符

但是,现在我想做同样的事情(即删除所有特殊字符),但不删除以下特殊字符:

  • \n
  • /

  • 如何做到这一点?

    我可能缺少完整的用例,但您可以在没有
    regex的情况下做到这一点:

    s = "test\r\n\\ this\n"
    s = ''.join(char for char in s if char.isalnum() or char in {'\\', '\n', ' '})
    print(s)
    

    .isalnum()
    处理包括unicode在内的大多数字母数字字符。

    我们可以尝试在不使用刚性字符类的情况下重写模式:

    document = "Hello!@#$/ World!"
    output = re.sub(r'[^ \nA-Za-z0-9/]+', '', document)
    print(output)
    
    Hello/ World
    

    这意味着删除任何不是字母数字、空格、换行符或正斜杠的字符。

    问题是:
    'Motörhead'
    是否应该是字母数字字符串?@Matthias
    Radiöhead
    呢?无论如何我都不喜欢他们的音乐。谢谢,这看起来不错。顺便说一下,我不知道你的评论是否与此相关,但我想知道像
    ö
    这样的字母是否被视为特殊字符,因此它们将被删除?如果是,则这是一个问题-我可能会为此编写或找到一个单独的问题。@PoeteMaudit是的,重音字符将被删除,但您也可以将它们包括在字符类中。正如您所看到的,这里的问题是说
    [^\w]
    会自动排除
    /
    。好的,是的,所以我可能不得不写一篇文章,或者找一个单独的问题,因为我想保留所有重音字母。