首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用R中的各个变量替换所有的标签?

问如何用R中的各个变量替换所有的标签?
EN

Stack Overflow用户
提问于 2013-12-02 16:33:47
回答 2查看 51关注 0票数 2

我有一个以下类型的模板:

代码语言:javascript
复制
template <- "Average: {{av}} \n Sum: {{sum}}"
inputs <- list(av = "15", sum = "100")

我需要将所有出现的{{av}}和{{sum}}替换为inputs的相应元素。

我试过了:

代码语言:javascript
复制
gsub("\\{\\{(.+)\\}\\}", inputs["\\1"], template, perl = TRUE)

但是它用"NULL“替换了所有的标签。

我如何才能正确地进行更换?

EN

回答 2

Stack Overflow用户

发布于 2013-12-02 16:51:54

前一种解决方案的替代方案:

代码语言:javascript
复制
for (i in names(inputs))
  regmatches(template,gregexpr(sprintf("\\{\\{%s\\}\\}", i), template)) <- inputs[[i]]

HTH

票数 3
EN

Stack Overflow用户

发布于 2013-12-02 16:43:00

你可以使用一个循环来完成。

代码语言:javascript
复制
template <- "Average: {{av}} \n Sum: {{sum}}"
inputs <- list(av = "15", sum = "100")
template.copy <- template



for (i in 1:length(inputs)) {
  x <- inputs[i]
  xn <- names(x)
  template.copy <- gsub(paste("\\{\\{", xn ,"\\}\\}", sep = ""), 
                        paste("\\{\\{", x, "\\}\\}", sep = ""), 
                        x = template.copy, perl = TRUE)
}

> template.copy
[1] "Average: {{15}} \n Sum: {{100}}"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20323860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档