Dear all,

I edit my question and upload again.

I am currently working on multiple data files in a folder.

For every files, there is a variable "key" which is identifier for observations.

The thing is the key variable has a different number in the observation per data files.

ex) for household_education.dta, it has mod1 at the end of the key variable (abcd_1727_1822_15s2d625j2_GROUP_MOD1-RPT_MOD1 [1])
and for household_income.dta, it has mod2 at the end of they key variable (abcd_1727_1822_15s2d625j2_GROUP_MOD2-RPT_MOD2 [1]),

even if these two are the same observation.

In order to unify this key variable, I want to remove that "_GROUP_MOD1-RPT_MOD1" using looping. I want to keep the rest and that [1] as well. That number after MOD is differed by file, and the number in the [ ] is differed by observation.

I used the following code so far, but I am stuck on the "#", where it should be 1 or 2 in my example. what should I put instead of #? Do I just need to type these one by one?

foreach file of local filelist_household_baseline {
use "`file'", clear
replace key = subinstr(key, "_GROUP_MOD#-RPT_MOD#", "", .)
save, replace
clear
}


Kind regards,
Hyungwoo