r - 如何从字母向量枚举字符串

标签 r string

我有以下字母向量:

my_alphs <- c("X","Y","Z")

给定一个带有星号 (*) 作为通配符的字符串:

my_str <- "LA**"

注意字符串的长度可以大于4并且 星号的位置可以是任何不同长度的位置。

我想根据 my_alphs 中存储的字母枚举所有星号 (*),结果如下(我手动执行此操作):

LAXX
LAXY
LAXZ
LAYX
LAYY
LAYZ
LAZX
LAZY
LAZZ

如何使用 R 实现这一目标?

最佳答案

根据需要更改 my_strmy_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/

相关文章:

r - 如何检查多列是否按行等效,忽略 NA 值

python - 从 Treeview 中选择自动将字符串数字转换为整数

java - 从文件中读取字符串行的有效方法

java - 如何在java中的字符串中插入反斜杠?

r - 你可以使用 R 中的 ar 函数拟合非平稳模型吗

r - 在光栅砖中交换轴

r - 提取矩阵列及其名称

Java 读取字符串的各个部分

java - 将字符串转换为 javax.jms.Message

R markdown ioslides 代码块的增量模式