gpt4 book ai didi

r - 按多个字符拆分字符串

转载 作者:行者123 更新时间:2023-12-01 08:46:59 24 4
gpt4 key购买 nike

我想通过向量中定义的多个分隔符来分割一个字符:

text1   <- "aweoiutw839572/)(&2aslk2468" 
text2 <- "147we547iu5erhg24tzu"
dat <- rbind(text1, text2)
vector <- c("we", "iu", "24")

结果应该是:

var1 del1 var2 del2  var3                del3 var4
a we o iu tw839572/)(&2aslk 24 68
147 we 547 iu 5erhg 24 tzu

strsplit 有什么想法吗?

最佳答案

我们可以使用 strsplit这里使用以下模式进行环视:

(?<=we|is|24)|(?<=.)(?=we|iu|24)

上述正则表达式的基本思想是,只要在当前位置,we|is|24 就应该发生拆分。先于或进行。值得注意的是额外的后视 (?<=.)在外部交替的左侧。这是必需的,因为 R 在 strsplit 中实现前瞻的方式有一个怪癖。 . See here了解更多信息。

text1 <- "aweoiutw839572/)(&2aslk2468"
vector <- c("we", "iu", "24")
terms <- paste0(vector, collapse="|")
regex <- paste0("(?<=", terms, ")|(?<=.)(?=", terms, ")")

strsplit(text1, regex, perl=TRUE)

[[1]]
[1] "a" "we" "o"
[4] "iu" "tw839572/)(&2aslk" "24"
[7] "68"

Demo

关于r - 按多个字符拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51415578/

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