2017-03-15 84 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