【问题标题】: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吗?只有字母和数字?
  • 是的,我想保留字母和数字并删除所有其他字符,例如标点符号

标签: python python-3.x


【解决方案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)

【讨论】:

    猜你喜欢
    • 2018-01-27
    • 2012-02-19
    • 2012-11-27
    • 2020-10-17
    • 2014-01-09
    • 1970-01-01
    • 2020-08-21
    • 2022-06-19
    • 1970-01-01
    相关资源
    最近更新 更多