Stata读取字符串包含换行键
问题
excel数据中有些变量是字符串格式,往往一个单元格是一长串字符,它还带换行的,点开是两行文本,其他符号且不说。在用stata(>13)读取该变量时,两行文本都展现在dta中,但是当你去点击,只有一行文本,另一行文本在下一行,stata也是读取了。但是,当进行相应操作,例如,var变量的某一行文本如下
人之初,性本善,性相近,习相远。
玉不琢,不成器,人不学,不知义。
需要根据“。”进行分段,
split var, parse("。") gen (word)
得到的word1 和 word2 结果如下(左侧是word1, 右侧word2):
人之初,性本善,性相近,习相远
玉不琢,不成器,人不学,不知义。
如此,word2中获得的分段是包含换行键的,识别的字符串长度也不同。因此需要将换行键删除或替换为如下形式:
人之初,性本善,性相近,习相远。玉不琢,不成器,人不学,不知义。
方法
利用ASCII编码将换行键识别出来,并替换为空,如下代码:
replace var = subinstr(var, char(10),"",.)
其中char(10), 10 代表ASCII编码 十进制中的换行键。
如此问题得到解决。