从字符串中的一组字符串中的每次出现字符串后插入数字

elb*_*dor 1 regex string r

假设我有一组琴弦 strset <- c("Apple", "Ball", "Cat1s")

我正在寻找一种strset在新字符串中每次出现字符串后插入给定数字(例如21)的方法,例如"[Apple][Ball][Cat1s|Apple][Cat1s|Blah:Ball]"将其转换为"[Apple21][Ball21][Cat1s21|Apple21][Cat1s21|Blah:Ball21]"

编辑:

[oneApple][Ball|Balls]应该变得[oneApple][Ball21|Balls]没有[oneApple21][Ball21|Ball21s]

小智 5

使用pastewith collapse="|"然后gsub使用反向引用应该可以完成工作。

strset<-c("Apple", "Ball", "Cat1s")
str2<-"[Apple][Ball][Cat1s|Apple][Cat1s|Blah:Ball]"
gsub(paste0("(", paste0(strset, collapse="|"),")"), "\\121", str2)
Run Code Online (Sandbox Code Playgroud)