Python删除列表中的一些ascii字符

Python删除列表中的一些ascii字符,python,Python,输入: 我想要这样的输出: list=["@stellar I loo#oo)oooovvvv;vveee my K!" , "rl I loo#os#"] 如何删除列表中的某些ascii字符(不仅仅是#、!、@),)您可以使用regex: "stellar I loooooooovvvvvveee my K", "rl I looos" 这将用空字符串替换所有非字母字符(因此将其删除) 您可以使用re.compile(“[^0-9a-zA-Z\]”)如果您想保留数字您可以使用regex r

输入:

我想要这样的输出:

list=["@stellar I loo#oo)oooovvvv;vveee my K!" , "rl I loo#os#"]

如何删除列表中的某些ascii字符(不仅仅是#、!、@),)

您可以使用
regex

"stellar I loooooooovvvvvveee my K", "rl I looos"
这将用空字符串替换所有非字母字符(因此将其删除)


您可以使用
re.compile(“[^0-9a-zA-Z\]”)
如果您想保留数字

您可以使用regex replace映射该列表

重新导入
list=[“@stellar I loo(oo)oovvv;vvee my K!”,“rl I loo(os)”]
结果=列表(映射图(lambda x:re.sub(“[^A-Za-z0-9\s]”,“”,x),列表))
打印(结果)
见下文:

import re

regex = re.compile('[^a-zA-Z\ ]')

my_strings = =["@stellar I loo#oo)oooovvvv;vveee my K!" , "rl I loo#os#"]

print([regex.sub("", s) for s in my_strings])
>>> ['stellar I loooooooovvvvvveee my K', 'rl I looos']

这回答了你的问题吗?它工作正常。我有一个简短的问题,如果输入是“i'have”或“i'll”输出->“i have”或“ill”,我如何能像这个词一样传递?你可以在正则表达式模式[^a-Za-z0-9\s\]中添加“”,它将忽略撇号。
my_list=["@stellar I loo#oo)oooovvvv;vveee my K!" , "rl I loo#os#"]
chars_to_remove = ['!','@']
for word in my_list:
    for char in word:
        if char in chars_to_remove:
            word.replace(char, '')