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