Python 如何按空格分割字符串并删除非ASCII字符?
当我得到一个字符串,如“Ready[[[,staid,go!”,我想把它变成这样的列表:Python 如何按空格分割字符串并删除非ASCII字符?,python,algorithm,ascii,list-comprehension,Python,Algorithm,Ascii,List Comprehension,当我得到一个字符串,如“Ready[[[,staid,go!”,我想把它变成这样的列表:[Ready,staid,go!]。目前,我能做的最好的是两个列表理解,但我无法找到一种方法来组合它们 text_list = [i for i in text.split()] output: ['Ready[[[,', 'steady,', 'go!'] clean_list = [x for x in list(text) if x in string.ascii_letters] output: [
[Ready,staid,go!]
。目前,我能做的最好的是两个列表理解,但我无法找到一种方法来组合它们
text_list = [i for i in text.split()]
output: ['Ready[[[,', 'steady,', 'go!']
clean_list = [x for x in list(text) if x in string.ascii_letters]
output: ['R', 'e', 'a', 'd', 'y', 's', 't', 'e', 'a', 'd', 'y', 'g', 'o']
clean\u list
确实成功地删除了非ASCII字母,但实际上将每个字符都转换为一个列表元素。text\u list
保持格式不变,但不删除非ASCII字符。如何组合这两种逻辑以提供所需的输出?这应该可以工作:
import re, string
# filter out all unwanted characters using regex
pattern = re.compile(f"[^{string.ascii_letters} !]")
filtered = pattern.sub('', "Ready[[[, steady, go!")
# split
result = filtered.split()
稍加解释就能提高答案的质量。