2017-03-15 86 views
0

背景故事的點點滴滴:去除字符串不想要的字符

我使用read_sav()從天堂讀SAV文件爲R。我正在使用SAV文件中的標籤(可通過attr(sav_file, "label")訪問)。我希望將這些部分標籤用作Latex文檔中的標題。

這是問題:乳膠不接受某些字符。渲染rMarkdown會產生錯誤「Package inputenc錯誤:Unicode字符(U + 80) (inputenc)未設置爲與LaTeX配合使用。」

這裏是造成了一些事情的問題和例子小弦示例中,我曾嘗試:

unencoded_string <- "following statement? â€Å「Tourism is good" 

其他有固定的使用類似的方法這個問題:

Encoding(unencoded_string) <- "UTF-8" 

iconv(unencoded_string, to = "UTF-8") 

這些函數調用導致刪除不需要字符的位,但我還是留下了文字,我不想:

"following statement? â€Å「Tourism is good"

其他正則表達式的方法不起作用。

有沒有人有一些可能幫助,或點我在正確的方向?我之前遇到過這種問題,但總是找到解決辦法。

+2

您可以就如何除去非ASCII看看[這裏](http://stackoverflow.com/questions/2124010/grep-regex-to-match-non-ascii-characters)字符。 – agstudy

回答

2

看來工作。試試這個

txt = "following statement? â€Å「Tourism is good" 
gsub("[^\\x00-\\x7F]+", "",txt, perl = TRUE) 

> gsub("[^\\x00-\\x7F]+", "",txt, perl = TRUE) 
[1] "following statement? Tourism is good" 
+0

這工作很好!謝謝。但我不太瞭解Perl的語法。如果你碰巧有關於這個主題的推薦閱讀,那就太好了。 – detroyejr

+1

@ jonathande4查看hackerrank的正則表達式課程。它進入了很多細節,並且很容易遵循。 – Kristofersen