在这个问题上真的需要帮助-
我有一份清单:
mylist = "Cell Contents (Column Percentage, Counts, Statistical Test Results), Statistics (Overlap)"我想在我的名单中找到以下几个词:
'Statistical Test Results'
'Counts'
'Column Percentage'一旦发现,我想把这些词按它们在我的列表中出现的顺序附加到一个新的列表中。因此,新的清单应改为:
newlist = ['Column Percentage','Counts','Statistical Test Results']我知道如何使用for循环找到单个单词并将其追加到新列表中,但我不太确定如何找到多个单词并按照原始列表中的顺序追加它们。
谢谢!
发布于 2013-07-23 13:34:31
我在第一对括号之间匹配内容:
re.finditer(r'\((.*?)\)', mylist).next().groups()[0].split(', ')
['Column Percentage', 'Counts', 'Statistical Test Results']re.finditer是正则表达式搜索
?内部使其不贪婪,以避免匹配太大.要理解,删除并测试\(和\)与捕获括号(和)之间的区别。finditer返回一个迭代器,只有在我们使用next运行它之后,它才会生效。现在我们想要获取字符串的捕获部分:这是groups方法([0]获得第一个,也是唯一一个,但您可以用正则表达式捕获几个部分)。
然后我们把结果分成昏迷,就结束了!
https://stackoverflow.com/questions/17811564
复制相似问题