【问题标题】:tidyverse: replacing special characters in string [duplicate]tidyverse:替换字符串中的特殊字符
【发布时间】:2021-05-26 09:15:31
【问题描述】:

我想将字符串中的_ 替换为\_

Test <- 
  c(".model", "sigma2", "log_lik", "AIC", "AICc", "BIC", "ar_roots", 
"ma_roots")

library(stringr)

Test %>% 
  str_replace_all(string = ., pattern = "_", replacement = "\_")

Error: '\_' is an unrecognized escape in character string starting ""\_"

有什么提示吗?

【问题讨论】:

    标签: r tidyverse stringr


    【解决方案1】:

    你可以使用 -

    stringr::str_replace_all(Test, pattern = "_", replacement = "\\\\_")
    
    #[1] ".model"     "sigma2"     "log\\_lik"  "AIC"     "AICc"       "BIC"       
    #[7] "ar\\_roots" "ma\\_roots"
    

    在打印 \ 时,会使用另一个 \ 进行转义,因此您会看到两个反斜杠。要查看实际字符串,请使用 cat

    cat(stringr::str_replace_all(Test, pattern = "_", replacement = "\\\\_"))
    
    #.model sigma2 log\_lik AIC AICc BIC ar\_roots ma\_roots
    

    或者gsub -

    gsub("_", "\\\\_", Test)
    

    【讨论】:

      猜你喜欢
      • 2014-12-07
      • 1970-01-01
      • 2016-09-27
      • 1970-01-01
      相关资源
      最近更新 更多