r - tidyverse:替换字符串中的特殊字符
问题描述
我想_
用\_
字符串替换。
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 ""\_"
有什么提示吗?
解决方案
您可以使用 -
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)