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

2024-04-25 14:11:16 发布

您现在位置:Python中文网/ 问答频道 /正文

说我有

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"

使用正则表达式?你知道吗


Tags: textprelsermiaotext2cura
2条回答

您可以尝试使用\W字符类:

re.sub(r'\W+', ' ', text)

如果需要与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

相关问题 更多 >