regex - 根据部分匹配替换整个字符串

标签 regex r

R的新手。如果存在部分匹配项,则希望替换整个字符串。

d = c("SDS0G2 Blue", "Blue SSC2CWA3", "Blue SA2M1GC", "SA5 Blue CSQ5")

gsub("Blue", "Red", d, ignore.case = FALSE, fixed = FALSE)

输出:“SDS0G2 Red”“Red SSC2CWA3”“Red SA2M1GC”“SA5 Red CSQ5”

所需的输出:“红色”“红色”“红色”“红色”

对此解决方案的任何帮助,我们深表感谢。

最佳答案

我建议使用grepl查找索引,并将这些索引替换为“红色”:

d = c("SDS0G2 Blue", "Blue SSC2CWA3", "Blue SA2M1GC", "SA5 Blue CSQ5", "ABCDE")
d[grepl("Blue", d, ignore.case=FALSE)] <- "Red"
d
# [1] "Red"   "Red"   "Red"   "Red"   "ABCDE"

关于regex - 根据部分匹配替换整个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22418864/

相关文章:

php - strstr() 的错误参数计数

r - 统计编程语言 R 中的默认编程是否可行?

r - 平滑锯齿状的 geom_segment 看起来像 geom_smooth

r - 用于大型数据集的 do.call 的替代方案

r - 如何计算R中不同点之间的过渡次数

regex - http.HandleFunc 模式中的通配符

python - 如何使用正则表达式删除制表符和换行符

Python正则表达式匹配街道名称和门牌号

ruby - 可扩展依赖缓存

regex - 正则表达式匹配数字和字符