如何获取特殊字符的原始数字HTML表示形式?

时间:2019-03-27 08:26:54

标签: r regex encoding special-characters

当我在R中键入"\xfc"时,它会导致[1] "ü"。我不想要那个,我希望它导致[1] "\xfc"。尽管我将“代码”->“保存”中的设置更改为UTF-8,但我也不太明白为什么Encoding("\xfc")"latin1"。我想编写一个函数,将"ü"之类的特殊字符替换为"\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"

(我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

最后一行给出您想要的结果。打印字符串时,反斜杠转义。为此,我们将字符串保存到文件,然后查看文件的内容。


s <- stringr::str_replace_all("Müller", "ü", "\\\\xfc")

writeLines(s, "test.txt")

cat(readLines("test.txt"))
#> M\xfcller

reprex package(v0.2.1)于2019-03-27创建

另请参见GitHub问题:https://github.com/STAT545-UBC/Discussion/issues/394