【问题标题】:convert unicode characters in italic or bold to normal characters using R使用 R 将斜体或粗体的 unicode 字符转换为普通字符
【发布时间】:2021-11-30 19:45:47
【问题描述】:

我有这个字符串:

string <- "Blah blah \U0001d617\U0001d622\U0001d63a\U0001d633\U0001d630\U0001d62d\U0001d62d \U0001d61a\U0001d631\U0001d626\U0001d624\U0001d62a\U0001d622\U0001d62d\U0001d62a\U0001d634\U0001d635 blah blah"

当我将它传递给 cat 时,我得到了这个:

cat("Blah blah \U0001d617\U0001d622\U0001d63a\U0001d633\U0001d630\U0001d62d\U0001d62d \U0001d61a\U0001d631\U0001d626\U0001d624\U0001d62a\U0001d622\U0001d62d\U0001d62a\U0001d634\U0001d635 blah blah")
> Blah blah ???????????????????????????? ???????????????????????????????????????? blah blah

如何将字符串转换成这个:

> "Blah blah Payroll Specialist blah blah" 

我看过这个帖子:R: Replacing foreign characters in a string,但我不能让它工作。

当我从 web 服务中提取数据时会出现问题,因此理想情况下,我正在寻找的解决方案是处理许多/所有可能的方式来表示字母的解决方案。 (例如粗体、斜体等)

谢谢!

【问题讨论】:

    标签: r encoding character-encoding


    【解决方案1】:

    有库 stringi (install.packages("stringi")) 和 stri_trans_nf* functions (执行或检查 Unicode 规范化);检查normalization forms for Unicode text的理论。

    string <- "Blah blah \U0001d617\U0001d622\U0001d63a\U0001d633\U0001d630\U0001d62d\U0001d62d \U0001d61a\U0001d631\U0001d626\U0001d624\U0001d62a\U0001d622\U0001d62d\U0001d62a\U0001d634\U0001d635 blah blah"
    library(stringi)
    stri_trans_nfkc(string)  # [1] "Blah blah Payroll Specialist blah blah"
    stri_trans_nfkd(string)  # [1] "Blah blah Payroll Specialist blah blah"
    

    【讨论】:

    • 嗨约瑟夫兹。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2020-01-09
    • 2013-05-17
    • 2016-10-22
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    相关资源
    最近更新 更多