gpt4 book ai didi

r - 一种用多个替代字符串变体来拆分和替换所有一个字符的方法?

转载 作者:行者123 更新时间:2023-12-05 09:28:19 24 4
gpt4 key购买 nike

我确信有一个简单的解决方案,我只是因为太沮丧而无法解决它,但这里是问题的简化版:

我有一个字符串,例如:AB^AB^AB^^BAAA^^BABA^我想替换 ^s(因此,字符串中有 7 个字符),但遍历许多变体并能够将它们全部保留为字符串

例如:

  • 替换1:CCDCDCD得到:ABCABCABDCBAAADCBABAD

  • 替换2:DDDCCCD得到:ABDABDABDCBAAACCBABAD

我想 strsplit 就是这样,我想在 for 循环 中完成它,我们将不胜感激!

最佳答案

可以使用gregexpr找到"^"的位置,参见tmp

x <- "AB^AB^AB^^BAAA^^BABA^"
y <- c("CCDCDCD", "DDDCCCD")
tmp <- gregexpr(pattern = "^", text = x, fixed = TRUE)

然后您可以使用 strsplit 按字符拆分“替换”字符,这会给出一个列表。最后,迭代该列表并将 "^" 一个接一个地替换为您的替换字符。

sapply(strsplit(y, split = ""), function(i) {
`regmatches<-`("AB^AB^AB^^BAAA^^BABA^", m = tmp, value = i)
})

结果

# [1] "ABCABCABCCBAAACCBABAC" "ABDABDABDDBAAADDBABAD"

关于r - 一种用多个替代字符串变体来拆分和替换所有一个字符的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71441126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com