从str\u locate\u all in R中的多个位置提取“结束”位置?
如果我们在字符串向量中定位一个子字符串,就像这样从str\u locate\u all in R中的多个位置提取“结束”位置?,r,lapply,sapply,R,Lapply,Sapply,如果我们在字符串向量中定位一个子字符串,就像这样 library(stringr) library(dplyr) x <- c("ldksfABCskdlfj", "kABCz", "skdlfjlsjfABCksdfpjfkj") x %>% str_locate_all("ABC") 如何仅提取端点位置?i、 e.8、4、13 到目前为止我都试过了 差不多了。以下是一种方法: x %>% str_locate_all("ABC") %>
library(stringr)
library(dplyr)
x <- c("ldksfABCskdlfj",
"kABCz",
"skdlfjlsjfABCksdfpjfkj")
x %>% str_locate_all("ABC")
如何仅提取端点位置?i、 e.8、4、13
到目前为止我都试过了
差不多了。以下是一种方法:
x %>% str_locate_all("ABC") %>% sapply(., function(x) x[,2])
差不多了。以下是一种方法:
x %>% str_locate_all("ABC") %>% sapply(., function(x) x[,2])
如果如示例所示,每个字符串中只有一个匹配项,则可以使用str_locate,这将避免使用任何循环来提取结束列,因为可以直接从返回的矩阵中提取子集
stringr::str_locate(x, "ABC")[, 2]
#[1] 8 4 13
如果如示例所示,每个字符串中只有一个匹配项,则可以使用str_locate,这将避免使用任何循环来提取结束列,因为可以直接从返回的矩阵中提取子集
stringr::str_locate(x, "ABC")[, 2]
#[1] 8 4 13
我们可以使用
library(stringr)
library(dplyr)
str_locate(x, "ABC") %>%
as_tibble %>%
pull(end)
#[1] 8 4 13
我们可以使用
library(stringr)
library(dplyr)
str_locate(x, "ABC") %>%
as_tibble %>%
pull(end)
#[1] 8 4 13