人们
我需要一个正则表达式来删除字符串中的标点符号,但保留重音符号和url。我还必须从字符串中保留提及和标签。在
我尝试了上面的代码,但不幸的是,它用重音符号替换了字符,但我想保留重音符号。在
import unicodedata
if __name__ == "__main__":
text = "Apenas um teste com acentuação. Para pontuação também! #python @stackoverflow http://xyhdhz.com.br"
text = unicodedata.normalize('NFKD', text).encode('ascii','ignore')
print text
以下文本的输出“Apenas um teste com acentuaço.Para pontuaço também!#python@stackoverflowhttp://xyhdhz.com.br“应该是”Apenas um teste com acentuaço Para pontuaço também#python@stackoverflowhttp://xyhdhz.com.br“
我怎么能那样做?在
您可以使用Python的regex module和
re.sub()
来替换任何要删除的字符。您可以使用黑名单并替换所有不需要的字符,也可以使用一个包含所有允许字符的白名单,并且只保留这些字符。这将删除括号内字符类中的任何内容:
(用python3.5测试)
为了保留url,你需要做更多的处理来检查格式(这是非常不同的)。在这种情况下,您需要什么样的输入/输出?
编辑:根据您添加的输入示例:
^{pr2}$相关问题 更多 >
编程相关推荐