从字符串中删除不需要的字符

时间:2017-03-15 20:56:08

标签: r

有点背景故事:

我正在使用来自避风港的read_sav()将SAV文件读入R中。我正在获取SAV文件中找到的标签(由attr(sav_file, "label")访问)。我想在Latex文档中使用这些部分标签作为标题。

问题在于:Latex不接受某些字符。渲染rMarkdown会产生错误“Package inputenc Error:Unicode char€(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"

其他正则表达式方法不起作用。

有没有人可以提供帮助,或指出我正确的方向?我以前遇到过这种问题,但总是找到解决办法。

1 个答案:

答案 0 :(得分: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"