character = (%.,-();'0123456789-—:`’)
character.replace(" ")
character.delete()
我想从我的程序中删除或替换所有特殊字符和数字,我知道它可以在一个字符串中完成,但不确定如何用引号或任何东西分隔所有特殊字符。不知怎的,我应该将括号中的所有特殊字符分开,而不确定如何分解并保留变量中存储的所有字符。
答案 0 :(得分:1)
translate
方法是我首选的方法。在要映射的字符之间创建映射,然后将该表应用于输入字符串。
from string import maketrans
special = r"%.,-();'0123456789-—:`’"
blanks = " " * len(special)
table = maketrans(special, blanks)
input_string.translate(table)
答案 1 :(得分:0)
似乎是filter
>>> s = 'This is a test! It has #1234 and letters?'
>>> filter(lambda i: i.isalpha(), s)
'ThisisatestIthasandletters'
答案 2 :(得分:0)
您可以使用带有可选填充值的函数,如果没有设置它只会删除/删除非字母字符,或者您可以指定默认替换值:
def delete_replace(s,fill_char = ""):
return "".join([x if x.isalpha() else fill_char for x in s])