【发布时间】:2015-08-06 15:28:22
【问题描述】:
在Shiny 中,文本输入可以由用户提供。当用户输入时,我想执行服务器端代码,但只有在输入了一个完整的单词后。每次输入“空格”都可以执行吗?
【问题讨论】:
-
我知道这并不能直接回答您的问题 --- 因为我不知道答案 --- 但是使用
submitButton()怎么样? -
它应该在用户输入时“连续”工作。
在Shiny 中,文本输入可以由用户提供。当用户输入时,我想执行服务器端代码,但只有在输入了一个完整的单词后。每次输入“空格”都可以执行吗?
【问题讨论】:
submitButton() 怎么样?
我不知道有任何软件包可以实际检查整个单词。正如您可以想象的那样,其他语言可能也需要包含在其中。如果字符串有空格,则给定一个激活示例,您可以执行以下操作:请注意,空格不必在键入内容之后,如果字符串中有空格,空格将激活。要包含更多测试用例,我建议您使用regexpr、library(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))
【讨论】: