基于匹配模式将R语言字符串向量转换为嵌套列表
R语言按指定规则将向量分组为列表
首先定义原始向量:
dummyvector <- c("/path/to/b2:banana.txt","/path/to/a1:apple.txt", "/path/to/b1:apple.txt","/path/to/c2:banana.txt")
实现步骤
- 提取分组键:用正则表达式提取每个元素中冒号后、
.txt前的字符串作为分组依据:
group_keys <- sub(".*:(.*)\\.txt", "\\1", dummyvector)
这里的正则表达式.*:(.*)\\.txt会匹配从开头到冒号的所有内容,捕获冒号后到.txt前的部分,再通过\\1保留捕获的内容作为分组键。
- 拆分向量为列表:使用
split()函数根据分组键将原向量拆分为目标列表:
result_list <- split(dummyvector, group_keys)
运行结果
执行上述代码后,输出的result_list即为所需格式:
$apple [1] "/path/to/a1:apple.txt" "/path/to/b1:apple.txt" $banana [1] "/path/to/b2:banana.txt" "/path/to/c2:banana.txt"
内容的提问来源于stack exchange,提问作者Algorithman
相关产品推荐
相关产品推荐

