简体   繁体   English

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

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

How do I remove a " + " sign from a string?如何从字符串中删除“+”号?

I want to remove "d12$cig_tax + " from the following formula:我想从以下公式中删除"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 "

What I would like it to return is form2 [1] "d12$r_hosp_tp ~ d12$alc_tax + d12$air_temp + d12$x_67 + d12$x_t67 + d12$qs_67 + x_31 "我希望它返回的是form2 [1] "d12$r_hosp_tp ~ d12$alc_tax + d12$air_temp + d12$x_67 + d12$x_t67 + d12$qs_67 + x_31 "

This doesn't work either:这也不起作用:

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 "

You want to replace based on a fixed string and not a regular expression.您想根据固定字符串而不是正则表达式进行替换。 To prevent the second argument from being interpreted as a regular expression, use the fixed function.为防止第二个参数被解释为正则表达式,请使用fixed的 function。

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 "

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM