gpt4 book ai didi

r - 如何根据R中的条件拆分字符串?

转载 作者:行者123 更新时间:2023-12-04 18:00:43 25 4
gpt4 key购买 nike

我想通过查看单词 'split here' 将单个字符串拆分为多个字符串,前提是它存在于 '>' 和 '<' 之间,并且不删除除单词 'split here' 之外的任何其他字符

text <- c("Don't split here > yes here split here and blah blah < again don't (anything could be here) split here >")

预期输出:
text[1] = "Don't split here > yes here "
text[2] = "and blah blah < again don't (anything could be here) split here >"

我试过
gsub(">(.*split here.*)<","", text)

但这似乎不起作用。有人可以使用正则表达式吗?帮我看看?

最佳答案

用\1 替换所需的字符串,然后在\1 上拆分:

strsplit(gsub("(>[^<]+) split here ([^<]+<)", "\\1\1\\2", text), "\1")
## [[1]]
## [1] "Don't split here > yes here"
## [2] "and blah blah < again don't split here >"

如果输入是字符向量,则输出将是一个列表,或者如果您想展平,只需使用 unlist(s)哪里 s是上述代码行的结果。

关于r - 如何根据R中的条件拆分字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55831940/

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