我有一个看起来像的字符串:
original_string = "(black && green) || (red && blue)"
我想拉出所有单词并将它们添加到数组中。我要找的结果是:
vars = ["black", "green", "red", "blue"]
所以我一直在试验正则表达式,我写了以下内容来分割字符串:
vars = re.split('\W+', original_string, flags=re.IGNORECASE)
哪种方式有效,但会返回以下内容:
vars = [u'', u'black', u'green', u'red', u'blue', u'']
所以我将列表项转换为字符串:
var_list = []
for var in vars:
var = str(var)
var_list.append(var)
返回:
['', 'black', 'green', 'red', 'blue', '']
因此,数组的计数为6而不是4,因为数组中有两个''。但我不确定''来自哪里或如何摆脱它们。
答案 0 :(得分:2)
>>> import re
>>> original_string = "(black && green) || (red && blue)"
>>> re.findall(r'\w+', original_string)
['black', 'green', 'red', 'blue']