r markdown - 使用新行格式化代码块中的文本

时间:2015-04-11 08:27:09

标签: r markdown

问题

在R Markdown(.Rmd)文档的代码块中,如何解析包含换行符\n的字符串,以在新行上显示文本?

数据和示例

我想解析text <- "this is\nsome\ntext"以显示为:

this is
some
text 

这是一个带有一些尝试的示例代码块(不能产生所需的输出):

```{r, echo=FALSE, results='asis'}

text <- "this is\nsome\ntext"  # This is the text I would like displayed

cat(text, sep="\n")     # combines all to one line
print(text)             # ignores everything after the first \n
text                    # same as print

```

其他信息

文本将来自闪亮应用上的用户输入。

例如 ui.R

tags$textarea(name="txt_comment")      ## comment box for user input

然后我有一个download按钮,使用.Rmd文档来呈现输入:

```{r, echo=FALSE, results='asis'}
input$txt_comment
```

R Studio图库中的example of this is here

1 个答案:

答案 0 :(得分:22)

诀窍是在连续"\n"之前使用两个空格: 因此,请"\n"

替换" \n"

示例:

```{r, results='asis'}
text <- "this is\nsome\ntext"

mycat <- function(text){
  cat(gsub(pattern = "\n", replacement = "  \n", x = text))
}

mycat(text)
```

结果:

enter image description here

P.S。:这与SO(正常降价行为)相同 如果您只想要一个换行符,请在要删除的行的末尾使用两个空格