Stata 从字符串响应中删除特定字符
我有一个字符串变量,一些响应在开头有一个额外的字符。所讨论的字符在所有情况下都是一个常量字符。变量是ICD代码。例如,我没有使用G23,而是使用DG23 Stata中是否有方法删除多余的D字符 我的数据是这样的 身份证件 诊断 1. DZ456 2. DG32 3. DY258 4. DD35 5. DS321 6. DD21 7. DA123Stata 从字符串响应中删除特定字符,stata,Stata,我有一个字符串变量,一些响应在开头有一个额外的字符。所讨论的字符在所有情况下都是一个常量字符。变量是ICD代码。例如,我没有使用G23,而是使用DG23 Stata中是否有方法删除多余的D字符 我的数据是这样的 身份证件 诊断 1. DZ456 2. DG32 3. DY258 4. DD35 5. DS321 6. DD21 7. DA123 有关此领域的基本信息,请参阅帮助字符串函数 * Example generated by -dataex-. To install: ssc insta
有关此领域的基本信息,请参阅
帮助字符串函数
* Example generated by -dataex-. To install: ssc install dataex
clear
input byte d str5 diag
1 "DZ456"
2 "DG32"
3 "DY258"
4 "DD35"
5 "DS321"
6 "DD21"
7 "DA123"
end
replace diag = substr(diag, 2, .) if substr(diag, 1, 1) == "D"
list
+----------+
| d diag |
|----------|
1. | 1 Z456 |
2. | 2 G32 |
3. | 3 Y258 |
4. | 4 D35 |
5. | 5 S321 |
|----------|
6. | 6 D21 |
7. | 7 A123 |
+----------+
字符串函数的另一种替代方法是使用正则表达式,请参见
help regex
replace diag = regexs(1) if regexm(diag, "^D(.*)")
谢谢你,沃特