【发布时间】:2020-01-26 13:15:23
【问题描述】:
我想替换字符串的一部分(在前两个下划线之间,第一组始终为“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 的上方和下方有一对 dplyr/magrittr-pipes。我需要将 str_sub 放入一个 mutate 左右。
-
类似
d %>% mutate(repl_pipe=str_sub(txt,3,6)) -
或者像这样:
d %>% mutate(txt = str_replace(txt, '\\d+', repl))