用模式替换R中的字符串并替换两个向量
发布时间:2020-12-15 05:21:54 所属栏目:Java 来源:网络整理
导读:假设我有两个这样的向量: a - c("this","is","test")b - c("that","was","boy") 我也有一个像这样的字符串变量: string - "this is a story about a test" 我想替换字符串中的值,以便它成为以下: string - "that was a story about a boy" 我可以使用for
假设我有两个这样的向量:
a <- c("this","is","test") b <- c("that","was","boy") 我也有一个像这样的字符串变量: string <- "this is a story about a test" 我想替换字符串中的值,以便它成为以下: string <- "that was a story about a boy" 我可以使用for循环来做这个,但我希望这是矢量化的.我该怎么做? 解决方法
如果你愿意使用非基础包,stringi在这里工作得很好:
stringi::stri_replace_all_fixed(string,a,b,vectorize_all = FALSE) #[1] "that was a story about a boy" 注意,对于长度> 1的输入字符串,这也是相同的方式. 1. 为了安全起见,您可以对此进行调整 – 类似于RUser的答案 – 在更换之前检查字边界: stri_replace_all_regex(string,paste0("b","b"),vectorize_all = FALSE) 例如,这将确保您不会意外地将其替换为hwas. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |