当我在 R 中输入 "\xfc"
时,它会显示 [1] "ü"
。我不希望这样,我希望这会导致 [1] "\xfc"
。我也不太明白为什么 Encoding("\xfc")
是 "latin1"
尽管我将代码->保存中的设置更改为 UTF-8。我想编写一个函数,用 "\xfc"
替换一些特殊字符,例如 "ü"
但我无法实现此目的:
> stringr::str_replace_all("Müller", "ü", "\xfc")
[1] "Müller"
> stringr::str_replace_all("Müller", "ü", "\\xfc")
[1] "Mxfcller"
> stringr::str_replace_all("Müller", "ü", "\\\xfc")
[1] "Müller"
> stringr::str_replace_all("Müller", "ü", "\\\\xfc")
[1] "M\\xfcller"
我真正想要的是[1]“M\xfcller”
(如何)我可以实现这一目标?
最佳答案
最后一行给出了您想要的结果。打印字符串时,反斜杠会被转义。为了看到这一点,我们将字符串保存到文件中,然后查看文件的内容。
s <- stringr::str_replace_all("Müller", "ü", "\\\\xfc")
writeLines(s, "test.txt")
cat(readLines("test.txt"))
#> M\xfcller
由 reprex package 创建于 2019-03-27 (v0.2.1)
另请参阅此 GitHub 问题:https://github.com/STAT545-UBC/Discussion/issues/394
关于r - 如何获取特殊字符的原始数字 HTML 表示形式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55372670/