是否有一个函数可以从字符串中删除任何符号(%、# 等)? [复制]

Posted

技术标签:

【中文标题】是否有一个函数可以从字符串中删除任何符号(%、# 等)? [复制]【英文标题】:Is there a function that will remove any symbols (%, #, & ect.) from a string? [duplicate] 【发布时间】:2020-01-12 01:22:16 【问题描述】:

我想有效地从我的字符串中删除所有符号。

x = hello!!
r = dict.fromkeys(map(ord, '\n ' + string.punctuation))
x.translate(r)

我希望这会删除所有符号,而不仅仅是句号 (.)

【问题讨论】:

符号是什么意思?你想只保留ascii-chars吗?只有字母和数字? 是的,我想保留字母和数字并删除所有其他字符,例如标点符号 【参考方案1】:

使用re.sub 删除所有string.punctuation' \n' 怎么样:

x = re.sub('|'.join(map(re.escape, string.punctuation + ' \n')), '', x)

如果您只想保留字母和数字字符,也可以使用以下正则表达式:

x = re.sub('[^a-zA-Z0-9]', '', x)

【讨论】:

以上是关于是否有一个函数可以从字符串中删除任何符号(%、# 等)? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

从字符串中删除重音符号

在 Common Lisp 中,是不是有从给定字符串返回符号的函数?

C ++从字符串中删除标点符号

第九十四章 SQL函数 %MINUS

如何从价格列中删除货币符号?

是否有任何函数可以从标准输入中获取无限的输入字符串