首页 > 解决方案 > 如何用元素符号分隔列表中的元素

问题描述

对不起,如果我不清楚标题

我想将带有符号的字符串列表中的元素分别分隔为例如:

lines = ['hi!,' , 'how' , 'are' , 'you?'  ]
['hi' , '!' , ',' , 'how' , 'are' , 'you' , '?']

我知道我可以使用 split(' symbol ') 但是它需要我为每个表达式创建一个表达式。

标签: pythonstringlistsymbols

解决方案


您可以使用匹配字母字符序列或单个非字母的正则表达式:

import re

lines = ['hi!,' , 'how' , 'are' , 'you?'  ]

word_or_symbol = re.compile(r'\w+|\W')

out = [item for string in lines for item in word_or_symbol.findall(string)]
print(out)
#  ['hi', '!', ',', 'how', 'are', 'you', '?']  

推荐阅读