我有观察将刑法代码列为字符串变量,但不是我需要的格式。使用Stata 12,我想替换字符串变量中的一些子字符串。例如,我需要将CC
的所有实例更改为18
,将VC
更改为75
,将PC
更改为35
。像这样:
Orginal Variable
CC547A1 | VC549F| PC5297
New Variable
18547A1 | 75549F | 355297
我需要改变的角色总是在开头。某些原始变量不需要更改。
我尝试使用substring
命令解决这个问题,但我无法正确调整代码。
答案 0 :(得分:5)
substr()
函数(不是substring()
;而不是命令)在这里不像它的兄弟subinstr()
那样有用。记录在同一个地方:从help functions
开始。
. clear
. input str7 myvar
myvar
1. CC547A1
2. VC549F
3. PC5297
4. end
. replace myvar = subinstr(myvar, "CC", "18", .)
(1 real change made)
. replace myvar = subinstr(myvar, "VC", "75", .)
(1 real change made)
. replace myvar = subinstr(myvar, "PC", "35", .)
(1 real change made)
. list
+---------+
| myvar |
|---------|
1. | 18547A1 |
2. | 75549F |
3. | 355297 |
+---------+
N.B。上一个帖子How do I find and replace a part of a string variable in Stata?