【发布时间】:2017-03-29 14:10:51
【问题描述】:
首先,对不起,如果标题不是很明确,我很难正确地表述它。这也是为什么我没有找到问题是否已经被问过,如果有的话。
所以,我有一个字符串列表,我想执行“程序”搜索,用任何可能的子字符串替换我的目标子字符串中的每个 *。
这是一个例子:
strList = ['obj_1_mesh',
'obj_2_mesh',
'obj_TMP',
'mesh_1_TMP',
'mesh_2_TMP',
'meshTMP']
searchFor('mesh_*')
# should return: ['mesh_1_TMP', 'mesh_2_TMP']
在这种只有一个* 的情况下,我只需用* 拆分每个字符串并使用startswith() 和/或endswith(),这样就可以了。
但是如果搜索字符串中有多个*,我不知道该怎么做。
所以我的问题是,如何在字符串列表中搜索任意数量的未知子字符串来代替 *?
例如:
strList = ['obj_1_mesh',
'obj_2_mesh',
'obj_TMP',
'mesh_1_TMP',
'mesh_2_TMP',
'meshTMP']
searchFor('*_1_*')
# should return: ['obj_1_mesh', 'mesh_1_TMP']
希望一切都足够清楚。谢谢。
【问题讨论】:
-
您可能想查看
re的正则表达式。 -
解释你如何到达
['mesh_ok1', 'mesh_ok2']作为第一个示例的预期输出。 -
哦,是的,抱歉,那是因为我修改了示例代码而没有更改结果。我现在编辑它。