尚不清楚您使用什么标准来拆分字符串,但当然可以创建一个按长度分组和命名的字符向量列表。
假设你有一个这样的字符串:
set.seed(69)
x <- sample(c(" ", letters), 200, prob = c(0.3, rep(0.8/26, 26)), replace = TRUE)
x <- gsub(" +", " ", paste(x, collapse = ""))
x
#> [1] "kscwew t wey n tg co cn opxbhdqpiflaoic f jusfyn ssk m wfiwrhqyt
zdjgspimramrunsqslo h dht pjnqgy vbo luy nrzkm gz m slu mgi wuqr qbreifaoz jg qe shga
mfbuhe o dmwsor ko zmdpucv w a ugc"
并且您想根据空格的位置将其拆分为多个片段,因此您有一个由多个不同长度的字符串组成的长向量(原始字符串中的“单词”):
all_strings <- strsplit(x, " ")[[1]]
现在你需要做的就是根据字符串的长度split,我们用nchar得到:
nchar_list <- split(all_strings, nchar(all_strings))
nchar_list
#> $`1`
#> [1] "t" "n" "f" "m" "h" "m" "o" "w" "a"
#>
#> $`2`
#> [1] "tg" "co" "cn" "gz" "jg" "qe" "ko"
#>
#> $`3`
#> [1] "wey" "ssk" "dht" "vbo" "luy" "slu" "mgi" "ugc"
#>
#> $`4`
#> [1] "wuqr" "shga"
#>
#> $`5`
#> [1] "nrzkm"
#>
#> $`6`
#> [1] "kscwew" "jusfyn" "pjnqgy" "mfbuhe" "dmwsor"
#>
#> $`7`
#> [1] "zmdpucv"
#>
#> $`9`
#> [1] "wfiwrhqyt" "qbreifaoz"
#>
#> $`15`
#> [1] "opxbhdqpiflaoic"
#>
#> $`19`
#> [1] "zdjgspimramrunsqslo"
由reprex package (v0.3.0) 于 2020-07-01 创建