似乎应该有一个比以下更简单的方法:
import string
s = "string. With. Punctuation?" # Sample string 
out = s.translate(string.maketrans("",""), string.punctuation)
在那儿?
我有一个函数,从字符串列表中删除标点符号:
def strip_punctuation(input):
    x = 0
    for word in input:
        input[x] = re.sub(r'[^A-Za-z0-9 ]', "", input[x])
        x += 1
    return input
我最近修改了我的脚本以使用Unicode字符串,所以我可以处理其他非西方字符.当遇到这些特殊字符并且只返回空的Unicode字符串时,此函数会中断.如何从Unicode格式的字符串中可靠地删除标点符号?
我有一个清单
['hello', '...', 'h3.a', 'ds4,']
这应该变成了
['hello', 'h3a', 'ds4']
我想只删除字母和数字完整的标点符号.标点符号是string.punctuation常量中的任何内容.我知道这很简单,但我在python中有点noobie所以......
谢谢,giodamelio