从未知(对我来说)编码中删除不可打印的空格
Remove non printable white spaces from unknown (to me) encoding
所以我使用 r XML
包解析了一些 XML 文件,代码如下
library(XML)
data <- xmlToDataFrame(xmlParse("Some file I can't share.xml"))
一切正常,我得到了预期的结果
dim(data)
## [1] 554560 13
唯一的问题是我的一些条目如下所示
x <- "2 irfl014"
x
## [1] "2 [=12=]2[=12=]3[=12=]4[=12=]3[=12=]5[=12=]5[=12=]6[=12=]5[=12=]2[=12=]3[=12=]4[=12=]3[=12=]5[=12=]5[=12=]6[=12=]5irfl014"
尝试识别编码(没有成功)
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
编码不是我最擅长的领域,有什么简单的方法可以将x
转换成简单的
x
## [1] "2 irfl014"
x <- "2 [=10=]2[=10=]3[=10=]4[=10=]3[=10=]5[=10=]5[=10=]6[=10=]5[=10=]2[=10=]3[=10=]4[=10=]3[=10=]5[=10=]5[=10=]6[=10=]5irfl014"
cat(x)
# 2 irfl014
特殊字符,例如 "[=12=]2"
是不可打印的 控制字符 。有关详细信息,请参阅 here。
您可以使用以下 gsub
命令删除所有控制字符:
gsub("[[:cntrl:]]+", "", x)
# [1] "2 irfl014"
所以我使用 r XML
包解析了一些 XML 文件,代码如下
library(XML)
data <- xmlToDataFrame(xmlParse("Some file I can't share.xml"))
一切正常,我得到了预期的结果
dim(data)
## [1] 554560 13
唯一的问题是我的一些条目如下所示
x <- "2 irfl014"
x
## [1] "2 [=12=]2[=12=]3[=12=]4[=12=]3[=12=]5[=12=]5[=12=]6[=12=]5[=12=]2[=12=]3[=12=]4[=12=]3[=12=]5[=12=]5[=12=]6[=12=]5irfl014"
尝试识别编码(没有成功)
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
编码不是我最擅长的领域,有什么简单的方法可以将x
转换成简单的
x
## [1] "2 irfl014"
x <- "2 [=10=]2[=10=]3[=10=]4[=10=]3[=10=]5[=10=]5[=10=]6[=10=]5[=10=]2[=10=]3[=10=]4[=10=]3[=10=]5[=10=]5[=10=]6[=10=]5irfl014"
cat(x)
# 2 irfl014
特殊字符,例如 "[=12=]2"
是不可打印的 控制字符 。有关详细信息,请参阅 here。
您可以使用以下 gsub
命令删除所有控制字符:
gsub("[[:cntrl:]]+", "", x)
# [1] "2 irfl014"