【问题标题】:How can a shiny app recognize when a complete word has been typed into a text input?当一个完整的单词输入到文本输入中时,闪亮的应用程序如何识别?
【发布时间】:2015-08-06 15:28:22
【问题描述】:

Shiny 中,文本输入可以由用户提供。当用户输入时,我想执行服务器端代码,但只有在输入了一个完整的单词后。每次输入“空格”都可以执行吗?

【问题讨论】:

  • 我知道这并不能直接回答您的问题 --- 因为我不知道答案 --- 但是使用 submitButton() 怎么样?
  • 它应该在用户输入时“连续”工作。

标签: r shiny


【解决方案1】:

我不知道有任何软件包可以实际检查整个单词。正如您可以想象的那样,其他语言可能也需要包含在其中。如果字符串有空格,则给定一个激活示例,您可以执行以下操作:请注意,空格不必在键入内容之后,如果字符串中有空格,空格将激活。要包含更多测试用例,我建议您使用regexprlibrary(stringr)library(stringi)。看看R Programming/Text Processing 的一些例子

rm(list = ls())
library(shiny)

ui =(pageWithSidebar(
  headerPanel("Words With Spaces"),
  sidebarPanel(
    textInput("my_text", "Type something (will activate if has space):", "")),
  mainPanel(textOutput("text"))
))

server = function(input, output, session){

  output$text <- renderText({

    if(is.na(is.null(input$my_text)) || is.null(input$my_text)){return()}

    if(regexpr(" ",input$my_text)[1] > 0){input$my_text}
  })  
}
runApp(list(ui = ui, server = server))

【讨论】:

  • 这正是我目前正在寻找的。好的起点。目前只有英语还可以。
猜你喜欢
  • 2021-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-21
  • 2020-08-26
  • 2019-03-13
  • 1970-01-01
相关资源
最近更新 更多