【问题标题】:Remove non printable white spaces from unknown (to me) encoding从未知(对我而言)编码中删除不可打印的空格
【发布时间】:2015-02-10 13:36:42
【问题描述】:

所以我使用以下代码使用 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  \002\003\004\003\005\005\006\005\002\003\004\003\005\005\006\005irfl014"

试图识别编码(没有成功)

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"

【问题讨论】:

  • 您能提供xdput 吗?
  • @SvenHohenstein 我已经分享了@98​​7654331@...

标签: r regex xml r encoding


【解决方案1】:
x <- "2  \002\003\004\003\005\005\006\005\002\003\004\003\005\005\006\005irfl014"

cat(x)
# 2  irfl014

特殊字符,例如"\002" 是不可打印的控制字符。请参阅here 了解更多信息。

您可以使用以下gsub 命令删除所有控制字符:

gsub("[[:cntrl:]]+", "", x)
# [1] "2  irfl014"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-12
    相关资源
    最近更新 更多