我有一堆csv文件,我正在读入R并包含在一个包/数据文件夹 .rdata格式中.不幸的是,数据中的非ASCII字符未通过检查.该tools软件包有两个功能来检查非ASCII字符(showNonASCII和showNonASCIIfile),但我似乎无法找到一个删除/清除它们.
在我探索其他UNIX工具之前,在R中执行此操作会很棒,因此我可以维护从原始数据到最终产品的完整工作流程.是否有任何现有的软件包/函数可以帮助我摆脱非ASCII字符?
我正在尝试清理一些使用加载到内存中的文本readLines(..., encoding='UTF-8')。
如果不指定编码,则会看到各种奇怪的字符,例如:
> "The way I talk to my family......i would get my ass beat to
> DEATH....but they kno I cray cray & just leave it at that
> 😜ðŸ˜â˜º'"
Run Code Online (Sandbox Code Playgroud)
这是在readLines(...,encoding ='UTF-8')之后的样子:
> "The way I talk to my family......i would get my ass beat to
> DEATH....but they kno I cray cray & just leave it at that
> \xf0\u009f\u0098\u009c\xf0\u009f\u0098\u009d?"
Run Code Online (Sandbox Code Playgroud)
您可以在末尾看到unicode文字:\ u009f,\ u0098等。
我找不到正确的命令和正则表达式来摆脱这些。我试过了:
gsub('[^[:punct:][:alnum:][\\s]]', '', text)
Run Code Online (Sandbox Code Playgroud)
我也尝试指定unicode字符,但我相信它们会被解释为文本:
gsub('\u009', '', text) # Unchanged
Run Code Online (Sandbox Code Playgroud)