gpt4 book ai didi

r - 如何根据给定字符的一次或多次出现来拆分字符串?

转载 作者:行者123 更新时间:2023-12-03 22:49:06 25 4
gpt4 key购买 nike

给定字符串:

string <- "AATTGGCGCTAG---AT-TTACG----"

如何根据一个或多个“-”的出现将其拆分为字符串。例如:

string1 <- "AATTGGCGCTAG"
string2 <- "---"
string3 <- "AT"
string4 <- "-"
string5 <- "TTACG"
string6 <- "----"

我试过:

strsplit(string, "[-]+")

但是,这不会返回“-”的字符串

最佳答案

您可以将它们与

[^-]+|-+

参见 regex demo .符合

  • [^-]+ - -
  • 以外的 1+ 个字符
  • | - 或者
  • -+ - 1 个或多个 - 字符。

在 R 中:

x <- "AATTGGCGCTAG---AT-TTACG----"
regmatches(x, gregexpr("[^-]+|-+", x))

或者

library(stringr)
x <- "AATTGGCGCTAG---AT-TTACG----"
str_extract_all(x, "[^-]+|-+")

输出

## => [[1]]
## [1] "AATTGGCGCTAG" "---" "AT" "-" "TTACG" "----"

关于r - 如何根据给定字符的一次或多次出现来拆分字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57285870/

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