我有一组变量,我们称它们为varA
,varB
和varC
。我想遍历only后缀A,B和C。
我知道我可以用des var*
获得所有匹配变量,但是有没有办法只提取匹配的分量并在其上循环?理想的代码如下:
des var*
foreach postfix in `r(wildcardmatches)' {
di "`postfix'"
}
如果存在集合r(通配符)。
我仍然不知道如何直接仅获取匹配的组件,但是这种解决方法可以间接获取它:
local prefix="var"
foreach variable of varlist `prefix'* {
local postfix=subinstr("`variable'", "`prefix'", "", .)
// Work with postfix
}