如何在R中用连续的同一个字母拆分字符串

如何在R中用连续的同一个字母拆分字符串,r,string,split,R,String,Split,我有这样一个字符串: s <- "aaehhhhhhhaannd" 您可以使用str\u extract\u all,使用正则表达式()\\1*,它使用反向引用来匹配重复字符: library(stringr) str_extract_all("aaehhhhhhhaannd", "(.)\\1*") #[[1]] #[1] "aa" "e" "hhhhhhh" "aa" "nn" "d" 您可以将基本Rstrsplit与基于的PCRE正则表达

我有这样一个字符串:

s <- "aaehhhhhhhaannd"

您可以使用
str\u extract\u all
,使用正则表达式
()\\1*
,它使用反向引用来匹配重复字符:

library(stringr)
str_extract_all("aaehhhhhhhaannd", "(.)\\1*")
#[[1]]
#[1] "aa"      "e"       "hhhhhhh" "aa"      "nn"      "d"

您可以将基本R
strsplit
与基于的PCRE正则表达式一起使用

s
library(stringr)
str_extract_all("aaehhhhhhhaannd", "(.)\\1*")
#[[1]]
#[1] "aa"      "e"       "hhhhhhh" "aa"      "nn"      "d"
s <- "aaehhhhhhhaannd"
strsplit(s, "(?<=(.))(?!\\1)", perl=TRUE)
# [[1]]
# [1] "aa"      "e"       "hhhhhhh" "aa"      "nn"      "d"