从文本中删除除“ \ n”和“ /”

时间:2019-05-23 16:19:03

标签: python nlp

从这篇文章中,我发现了如何删除文本中除空格和字母数字之外的所有内容:Python: Strip everything but spaces and alphanumeric

通过这种方式:

re.sub(r'([^\s\w]|_)+', '', document)

我基本上想删除所有特殊字符。

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

  1. \ n
  2. /

我该怎么做?

2 个答案:

答案 0 :(得分:1)

我们可以尝试不使用严格的字符类来重写您的模式:

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

Hello/ World

这表示删除所有不是字母数字,空格,换行符或正斜杠的字符。

答案 1 :(得分:0)

我可能会缺少完整的用例,但是您可以在没有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。