如何在R语言中使用str_replace将“) ”替换为“) |”?
解决方案
- 问题核心:你要匹配的是字面的右括号加空格,但正则里
)属于特殊元字符,必须转义才能匹配它本身;你之前用的正则).*会匹配从第一个)到最后一个空格的所有内容,范围远超出目标替换项。 - 正确写法:用
\\)作为匹配模式(R字符串里反斜杠需要双写来转义),替换为) |即可。
修正后的代码:
library(tidyverse) tibble(value = "ASO QUANTITATIVE (ANTI STROPTOLYSION O) 52.2|0 - 200|IU/ml") %>% mutate(value = str_replace(value, "\\) ", ") |"))
执行后输出结果:ASO QUANTITATIVE (ANTI STROPTOLYSION O) |52.2|0 - 200|IU/ml
如果需要替换字符串中所有出现的) (而非仅第一个),把str_replace换成str_replace_all即可。
内容的提问来源于stack exchange,提问作者ViSa
相关产品推荐
相关产品推荐

