【发布时间】:2021-09-28 09:53:51
【问题描述】:
我有一个我正在尝试转换为 rdf 以进行编辑的数据框
门生。不幸的是,数据框的 ASCII 代码在打印字符串时不可见,最臭名昭著的是 \u0020,他将其编码为空格。
x <- "\u0020".
x
> " "
grepl() 在搜索模式时工作正常,
但不返回原始字符串时
打印结果。
match <-
grep(pattern = "\u0020", x = x, value = TRUE)
match
> " "
问题是这些代码正在抛弃 Protege,我正在尝试将它们规范化为基本字符,例如 \u0020 到 " ",但我找不到任何可以捕获这些并用单个替换它们的正则表达式非代码字符。正则表达式模式[^ -~] 没有捕捉到这些值,否则我对这些字符串完全视而不见。如何在 R 中规范化这些代码?
【问题讨论】:
-
字符串“\u0020”和字符串“”在R中相同。解析器将Unicode转义转换为空格。看你的变量
x是没有办法区分的。发现这些东西的唯一方法是查看源代码。 -
或许值得一读utf8 vignette。
标签: r regex ascii stringr stringi