r - 如何从字母向量中枚举字符串
问题描述
我有以下字母向量:
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"
推荐阅读
- docker - 发生 Docker 错误:无法创建 kubernetes PKI - 无法加载证书:证书已过期
- javascript - 检查子组件中的道具值(如果可用)
- python - .txt 文件在 python 中处理 ML 数据
- java - 如何重置和删除我为 VS Code 添加的 Java 语言支持?
- azure-sql-database - ADF 管道停止工作:作业失败,原因是:结果有 0 个输出列。请确保至少映射一列
- google-bigquery - 来自 Amazon s3 的每日数据传输附加数据而不是覆盖
- image - 未知的大图像条目值
- typescript - JSX 样式 React Native 组件与子组件
- sql - 使用两个分别存储历史插入和删除的 SQL 表查找当前数据集
- sas - SAS:如何在 sgplot 散点图上重命名轴标签名称