我有以下字母向量:
my_alphs <- c("X","Y","Z")
给定一个带有星号 (*) 作为通配符的字符串:
my_str <- "LA**"
注意字符串的长度可以大于4并且 星号的位置可以是任何不同长度的位置。
我想根据 my_alphs
中存储的字母枚举所有星号 (*),结果如下(我手动执行此操作):
LAXX
LAXY
LAXZ
LAYX
LAYY
LAYZ
LAZX
LAZY
LAZZ
如何使用 R 实现这一目标?
最佳答案
根据需要更改 my_str
和 my_alphs
。
> library(dplyr)
> library(stringr)
> library(purrr)
> do.call(expand.grid, list(rep(list(my_alphs), str_count(my_str, "\\*")), stringsAsFactors=FALSE)) %>%
+ accumulate(function (str, replacement) str_replace(str, "\\*", replacement), .init=my_str) %>%
+ last()
[1] "LAXX" "LAYX" "LAZX" "LAXY" "LAYY" "LAZY" "LAXZ" "LAYZ" "LAZZ"
关于r - 如何从字母向量枚举字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54767675/