首页 > 解决方案 > 从R中的列表中替换列表的字符串

问题描述

我有一个列表,我想用下面的计数替换出现的一个

str_list <- c("2","1","2","1")
str_replace_all(str_list,"1",c("1:once","1:twice"))

给出输出

[1] "2"       "1:twice" "2"       "1:twice"

但它应该给

[1] "2"       "1:once" "2"       "1:twice"

标签: rstring

解决方案


您在这里不需要正则表达式,因为这是完全匹配的。尝试 :

str_list[str_list == "1"] <- c("1:once","1:twice")
str_list
#[1] "2"       "1:once"  "2"       "1:twice"

您需要采取的唯一预防措施是确保"1"s 的数量与替换的数量 ( c("1:once","1:twice")) 相同,否则可能会给您带来意想不到的结果。


推荐阅读