s = "[(0, '0.105*\"function\" + 0.032*\"program\" + 0.024*\"location\"')]"
这是我的一个字符串。如何在python中使用正则表达式分隔字符串,例如“函数”,“程序”,“位置”?
我希望以列表的形式输出,即
lst = ['function', 'program', 'location']
答案 0 :(得分:1)
尝试一下:
>>> re.findall(r'"([^"]*)"', s)
['function', 'program', 'location']
答案 1 :(得分:1)
您可以使用re
模块,但是-至少对于您提供的示例数据-不必使用它来获取所需的输出,就像{{1} }方法就足够了。那就是:
str
输出:
s = "[(0, '0.105*\"function\" + 0.032*\"program\" + 0.024*\"location\"')]"
lst = [i for i in s.split('"') if i.isalpha()]
print(lst)
此代码仅在['function', 'program', 'location']
处split
s
,然后选择"
,它们仅由字母字符组成并且长度不少于str
。 / p>
答案 2 :(得分:0)
import re
s = "[(0, '0.105*\"function\" + 0.032*\"program\" + 0.024*\"location\"')]"
groups = re.findall("\"([a-z]+?)\"",s) # get groups of all letters which are between two `"`
print(groups) # -> ['function', 'program', 'location']