【问题标题】:Highlight text based on list in R shiny基于R中的列表突出显示文本
【发布时间】:2018-12-11 18:20:56
【问题描述】:

我想根据 R 中的列表突出显示/着色字符串的一部分。我有以下代码:

library(shiny)


ui <- fluidPage(

      mainPanel(
        fluidRow(
          box(title="text",status="primary", solidHeader = TRUE, align = "left", width = 4,
              verbatimTextOutput("text"))))
)

server <- function(input, output) {

   output$text <- renderText({

     print("ABCDFGHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQRS")

   })
}


shinyApp(ui = ui, server = server)

如何使用列表对字符串的某些部分进行着色/突出显示:

highlight <- c("GHIJ", "MNOP", "STUV")

列表会根据用户输入而变化。

编辑:我能够使用以下代码突出显示字符串的特定部分:

library(shiny)
library(magrittr)
library(tableHTML)


ui <- fluidPage(

  mainPanel(
    fluidRow(
      box(title="Sequence",status="primary", solidHeader = TRUE, align = "left", width = 6,
        htmlOutput("text")),
        tags$style(type="text/css", "#text {word-break: break-all;}")))
)


server <- function(input, output) {

  output$text <- renderText({

    text2 <- c("ABCDFGHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQRS") 
    text2 %<>% stringr::str_replace_all(c('MNOPQR' = '<span style="background-color:yellow">MNOPQR</span>'))




    print(text2)

  })
}

我有一个很大的字符串列表,我想根据用户输入突出显示这些更改。我想将 str_replace_all 函数包装到一个循环中,以查找列表中的所有字符串。

类似这样的:

words <- c("ABCD", "MNOP", "GHIJ")

    for (word in words){

    text2 %<>% stringr::str_replace_all(c('word' = '<span style="background-color:yellow">word</span>'))

    }

但我没有让它工作。

【问题讨论】:

    标签: r for-loop shiny stringr formattable


    【解决方案1】:

    在我看来,这里有几个步骤。首先是用grep找到需要高亮的字符串,然后将原来的字符串拆分,最后打上一个html标签,比如

    tags$span(style="color:red", x) 
    

    红色。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-07
      • 1970-01-01
      • 2020-04-14
      • 1970-01-01
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      相关资源
      最近更新 更多