R: str_replace 不替换字符串中的字符,包括特殊字符 (+)?

R: str_replace not replacing characters, including special characters (+), within string?

如何从字符串中删除“+”号?

我想从以下公式中删除 "d12$cig_tax + "

formula = "d12$r_hosp_tp ~ d12$cig_tax + d12$alc_tax + d12$air_temp + d12$x_67 + d12$x_t67 + d12$qs_67 + x_31 "

form2  <- str_replace(formula,paste0("d12$cig_tax"," [^[:alnum:]]")," ")
form2
[1] "d12$r_hosp_tp ~ d12$cig_tax + d12$alc_tax + d12$air_temp + d12$x_67 + d12$x_t67 + d12$qs_67 + x_31 "

我想要return的是form2 [1] "d12$r_hosp_tp ~ d12$alc_tax + d12$air_temp + d12$x_67 + d12$x_t67 + d12$qs_67 + x_31 "

这也不行:

str_replace(formula,"d12$cig_tax"," ")
[1] "d12$r_hosp_tp ~ d12$cig_tax + d12$alc_tax + d12$air_temp + d12$x_67 + d12$x_t67 + d12$qs_67 + x_31 "

您想根据固定字符串而不是正则表达式进行替换。要防止第二个参数被解释为正则表达式,请使用 fixed 函数。

str_replace(formula, fixed("d12$cig_tax + ")," ")
# [1] "d12$r_hosp_tp ~  d12$alc_tax + d12$air_temp + d12$x_67 + d12$x_t67 + d12$qs_67 + x_31 "