以有效的方式将字符串拆分为 R 中大小为 n 的连续子字符串

Jul*_*ien 1 string r n-gram

# Input
n <- 2
"abcd" 
# Output
c("ab", "bc", "cd")
Run Code Online (Sandbox Code Playgroud)

I don't want to use a for loop or sapply

Ron*_*hah 7

You may use substring -

get_n_grams <- function(string, n) {
  len <- nchar(string)
  substring(string, seq_len(len - n + 1), n:len)    
}

get_n_grams("abcd", 2)
#[1] "ab" "bc" "cd"

get_n_grams("abcd", 3)
#[1] "abc" "bcd"
Run Code Online (Sandbox Code Playgroud)