R - 使用format()函数删除空格

时间:2018-04-14 00:17:56

标签: r shiny format whitespace space

在我的Shiny应用程序中,我试图打印一个实际上是一笔钱的价值。

目前的代码如下:

text <- reactive({format(data()), big.mark= ",", trim = 
"TRUE")})

output$profit <- renderText({
paste("The total profit is \u00a3",text(),".")

但是,从text()返回的值之前和之后仍有空格。我如何摆脱它们?

3 个答案:

答案 0 :(得分:0)

使用粘贴功能稍微尝试一下,并记下文档中的sep参数:

paste("The total profit is \u00a3","5,000",".")
[1] "The total profit is £ 5,000 ."

这表明问题与text()的问题无关。代替:

paste("The total profit is \u00a3","5,000",".",sep = "")
[1] "The total profit is £5,000."

您可能还会对 lucr 这个套餐感兴趣,这样可以方便您设置货币样式。

答案 1 :(得分:0)

您可以使用paste0来删除字符串之间的空格。

或者@joran说,在sep=""中添加paste选项。

答案 2 :(得分:0)

此外,我们可以使用glue::glue

glue("The total profit is \u00a3{text()}")

-fullcode

library(shiny)
library(glue)

options(scipen = 999)
df1 <- data.frame(amount = c(5000, 10000, 200000))
ui <- fluidPage(
  selectInput("amt", "amount", choices  = df1$amount),
  verbatimTextOutput(outputId = "profit")

)
server <- function(input, output) {

  data <- reactive(as.numeric(input$amt))

text <- reactive({
   format(data(), big.mark= ",", trim = TRUE)})

output$profit <- renderText({
  glue("The total profit is \u00a3{text()}")

})

}

shinyApp(ui = ui, server = server)

-output

enter image description here