Stata:系统地替换字符串变量中的字符

时间:2014-10-22 23:39:41

标签: substring stata

我有观察将刑法代码列为字符串变量,但不是我需要的格式。使用Stata 12,我想替换字符串变量中的一些子字符串。例如,我需要将CC的所有实例更改为18,将VC更改为75,将PC更改为35。像这样:

Orginal Variable
CC547A1 | VC549F| PC5297

New Variable
18547A1 | 75549F | 355297

我需要改变的角色总是在开头。某些原始变量不需要更改。

我尝试使用substring命令解决这个问题,但我无法正确调整代码。

1 个答案:

答案 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?