2013-01-24 145 views
1

我有一個數據集,我用命令outsheet導出到csv文件中。有一些行在某個地方斷行。使用十六進制編輯器,我可以識別記錄中換行符「0a」的控制字符。產生換行符的變量的值在視覺上(Stata中)僅顯示5個字符。但是,如果我算的字符數:Stata:刪除換行控制字符

gen xlen = length(x) 

我得到6.我可以寫一個Perl PROGRAMM擺脫這個問題,但我更喜歡在出口前,除去在Stata控制字符(使用regexr()爲例) 。有沒有人有一個想法如何刪除控制字符?

回答

3

char()函數調用特定的ASCII字符。因此,您可以通過將其替換爲空字符串來刪除這些字符。

replace x = subinstr(x, char(10), "", .) 
+0

謝謝,就是這樣! – giordano

+0

Stata命令'charlist'用於識別字符串中出現哪些字符可以通過'ssc inst charlist'下載。其主要用途是識別有問題的字符,如換行符。 –