2016-08-08 85 views
0

我想清理一些使用readLines(...,encoding ='UTF-8')加載到內存中的文本。如何使用R中的gsub刪除奇怪的字符?

如果我不指定編碼,我看到各種奇怪的字符,如:

「我跟我的家人的方式......我會得到我的屁股節拍 死亡....但他們硝酸鉀我克雷Cray公司&剛剛離開它 ðŸ~œðŸ~â~º「」

這是它看起來像readlines方法(...之後,編碼=」 UTF -8'):

」我跟家人說話的方式......我會把我的屁股打到 死......但他們知道我是克雷克雷&只是讓它在那 \ xf0 \ u009f \ u0098 \ u009c \ XF0 \ u009f \ u0098 \u009d☺」

你可以看到底Unicode的文字:\ u009f \ u0098等

我無法找到合適的命令和正則表達式擺脫這些。我已經試過:

GSUB( '[^ [:PUNCT:] [:alnum:] [\ S]', '',文本)

我也試過指定Unicode字符,但我相信他們得到的解釋爲文本:

GSUB(「\ u009」,「」,文本)#不變

回答

3

最簡單的方法來擺脫這些字符是從UTF-8轉換爲ASCII:

combined_doc <- iconv(combined_doc, 'utf-8', 'ascii', sub='')