温馨提示:本文翻译自stackoverflow.com,查看原文请点击:stata - Set of wildcard matches from variable names
stata wildcard

stata - 一组来自变量名称的通配符匹配

发布于 2020-04-08 17:32:08

我有一组变量,比如varAvarBvarC

我怎样才能遍历只是在后缀ABC

我知道我可以获取所有匹配的变量,如下所示:

des var*

              storage   display    value
variable name   type    format     label      variable label
-------------------------------------------------------------------------------------------------------------------------------------
varA            float   %9.0g                 
varB            float   %9.0g                 
varC            float   %9.0g                 

但是,有没有办法只提取匹配的组件并在其上循环?

理想的代码应类似于以下代码:

des var*

foreach postfix in `r(wildcardmatches)' {
    display "`postfix'"
}

如果该集r(wildcardmatches)存在。

查看更多

提问者
ASV
被浏览
74
Nick Cox 2020-02-01 01:21
* sandbox 
clear
set obs 1 
foreach v in varA varB varC { 
    gen `v' = 42 
}

* core idea and verification
unab wanted : var* 
local wanted : subinstr local wanted "var" "", all

display "`wanted'"
A B C