Dav*_*urg 8 regex xml encoding r
所以我使用以下代码使用r XML包解析了一些XML文件
library(XML)
data <- xmlToDataFrame(xmlParse("Some file I can't share.xml"))
Run Code Online (Sandbox Code Playgroud)
一切都很好,我得到了预期的结果
dim(data)
## [1] 554560 13
Run Code Online (Sandbox Code Playgroud)
唯一的问题虽然我的一些条目看起来如下
x <- "2 irfl014"
x
## [1] "2 \002\003\004\003\005\005\006\005\002\003\004\003\005\005\006\005irfl014"
Run Code Online (Sandbox Code Playgroud)
试图识别编码(没有成功)
Encoding(x)
## [1] "unknown"
library(stringi)
stri_enc_detect(x)
# [[1]]
# [[1]]$Encoding
# [1] "UTF-8" "Shift_JIS" "GB18030" "EUC-JP" "EUC-KR" "Big5"
#
# [[1]]$Language
# [1] "" "ja" "zh" "ja" "ko" "zh"
#
# [[1]]$Confidence
# [1] 0.1 0.1 0.1 0.1 0.1 0.1
Run Code Online (Sandbox Code Playgroud)
编码是不是我的最强的专业领域,有没有将任何简单的方法x来简单地
x
## [1] "2 irfl014"
Run Code Online (Sandbox Code Playgroud)
Sve*_*ein 10
x <- "2 \002\003\004\003\005\005\006\005\002\003\004\003\005\005\006\005irfl014"
cat(x)
# 2 irfl014
Run Code Online (Sandbox Code Playgroud)
特殊字符例如"\002"是不可打印的控制字符.有关更多信息,请参见此处
您可以使用以下gsub命令删除所有控制字符:
gsub("[[:cntrl:]]+", "", x)
# [1] "2 irfl014"
Run Code Online (Sandbox Code Playgroud)