【发布时间】:2019-10-08 00:05:51
【问题描述】:
我希望使用 stringr 包中的函数根据部分匹配替换数据中的整个字符串条目。
我尝试过的唯一方法是使用str_replace_all() 替换完全匹配,但是当需要纠正数十种变化时,这变得乏味且笨拙。我正在寻找基于部分匹配的替换。在下面的代表中,我用直接规范替换了“Spaniard”和“Colombian”的变体。但是,我很乐意根据诸如满足单词中存在“Spa”或“Col”的条件来执行这些替换。
library(tidyverse)
library(stringr)
data <- c(
"Spanish",
"SPANIARD",
"Spainiard",
"Colombian",
"Columbian",
"Ecuador",
"Equador",
"Ecuadorian",
"VENEZUELAN"
)
str_replace_all(data,
c(
"Spanish" = "Spaniard",
"SPANIARD" = "Spaniard",
"Spainiard" = "Spaniard",
"Columbian" = "Colombian"
))
#> [1] "Spaniard" "Spaniard" "Spaniard" "Colombian" "Colombian"
#> [6] "Ecuador" "Equador" "Ecuadorian" "VENEZUELAN"
由reprex package (v0.2.1) 于 2019 年 5 月 21 日创建
所以str_replace_all() 像宣传的那样工作,但我正在寻找一种方法来简化 tidyverse 中的这个过程。非常感谢任何帮助。
【问题讨论】: