状态:变量名称中的通配符匹配的集合

问题描述 投票:0回答:1

我有一组变量,我们称它们为varAvarBvarC。我想遍历only后缀A,B和C。

我知道我可以用des var*获得所有匹配变量,但是有没有办法只提取匹配的分量并在其上循环?理想的代码如下:

    des var*
    foreach postfix in `r(wildcardmatches)' {
        di "`postfix'"
    }

如果存在集合r(通配符)。

wildcard stata
1个回答
0
投票

我仍然不知道如何直接仅获取匹配的组件,但是这种解决方法可以间接获取它:

    local prefix="var"
    foreach variable of varlist `prefix'* {
        local postfix=subinstr("`variable'", "`prefix'", "", .)
        // Work with postfix
    }
© www.soinside.com 2019 - 2024. All rights reserved.