我想替换字符串的一部分(在前 2 个下划线之间,第一组始终为“i”),如下面的基本 R 示例所示:
library(dplyr)
library(stringr)
d <- tibble(txt = c("i_0000_GES", "i_0000_OISO", "i_0000_ASE1333"),
repl = c("1111", "1111", "2222"))
str_sub(d$txt, 3, 6) <- d$repl
d
# A tibble: 3 x 2
# txt repl
# <chr> <chr>
# 1 i_1111_GES 1111
# 2 i_1111_OISO 1111
# 3 i_2222_ASE1333 2222
我该如何使用
str_sub<-
做到这一点?或另一个字符串函数?
最佳答案
这是使用 str_sub<-
的一种方法在一个管道中。
d %>%
mutate(txt = `str_sub<-`(txt, 3, 6, value = repl))
## A tibble: 3 x 2
# txt repl
# <chr> <chr>
#1 i_1111_GES 1111
#2 i_1111_OISO 1111
#3 i_2222_ASE1333 2222
请注意参数
value
是最后一个,所以它必须传递给它的名字。
关于用 mutate 替换部分字符串(在管道中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58113748/