我有一组变量,比如varA
,varB
和varC
。
我怎样才能遍历只是在后缀A
,B
和C
?
我知道我可以获取所有匹配的变量,如下所示:
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)
存在。
* 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