Python-删除非字母数字字符,但保留空格和西班牙语/葡萄牙语字符

时间:2018-10-09 00:56:12

标签: python regex python-2.7

说我有

text = "El próximo AÑO, vamos a salir a Curaçao... :@ :) será el día #MIÉRCOLES 30!!!!"

我怎么把它变成

text2 = "El próximo AÑO vamos a salir a Curaçao será el día MIÉRCOLES 30"

使用正则表达式吗?

2 个答案:

答案 0 :(得分:1)

您可以尝试使用re.sub(r'\W+', ' ', text) 字符类:

{{1}}

答案 1 :(得分:0)

如果您需要与Python 2.7兼容,则可以使用str.isalpha()方法:

# -*- coding: utf-8 -*-
import re
text = u"El próximo AÑO, vamos a salir a Curaçao... :@ :) será el día #MIÉRCOLES 30!!!!"
print(re.sub(' +', ' ', ''.join(c for c in text if c.isalpha() or c.isdigit() or c.isspace())))

这将输出:

El próximo AÑO vamos a salir a Curaçao será el día MIÉRCOLES 30