【问题标题】:Remove the first n words from a text document in R从R中的文本文档中删除前n个单词
【发布时间】:2021-06-23 15:51:43
【问题描述】:

我在 R 中遇到问题,但在 Stackoverflow 中找不到类似的解决方案。

我有一个包含许多不同文本文档的数据框。我尝试 gsub 在特定模式后从文本文档中删除一些字符。这工作正常,但现在我有一个问题,我想从每个文本文档中删除前 5 个单词。

举例:

  1. “嘿,我是汤姆,我喜欢香蕉”
  2. “嘿,我是 Moritz,我喜欢巧克力”

解决方案应该是:

  1. “我喜欢香蕉”
  2. “我喜欢巧克力”

这是否具有 R 中可能的特定功能? 这对我很有帮助。

亲切的问候, 汤姆

【问题讨论】:

    标签: r string text tidyverse


    【解决方案1】:

    stringr 选项:

    library(stringr)
    
    s <- c("Hey I am Tom and I like Bananas", "Hey I am Moritz and I like Chocolate")
    word(s, 6, str_count(s, '\\s')+1)
    #[1] "I like Bananas"   "I like Chocolate"
    

    【讨论】:

      【解决方案2】:

      str_remove类似的选项

      library(stringr)
      str_remove(s, '(\\w+\\s+){5}')
      #[1] "I like Bananas"   "I like Chocolate"
      

      数据

      s <- c("Hey I am Tom and I like Bananas", "Hey I am Moritz and I like Chocolate")
      

      【讨论】:

        【解决方案3】:

        尝试gsub,如下所示

        > gsub("(\\w+\\s+){5}", "", s)
        [1] "I like Bananas"   "I like Chocolate"
        

        数据

        s <- c(
          "Hey I am Tom and I like Bananas",
          "Hey I am Moritz and I like Chocolate"
        )
        

        【讨论】:

          【解决方案4】:

          我们可以使用strsplitsapplypaste

          xx <- c("Hey I am Tom and I like Bananas", "Hey I am Moritz and I like Chocolate")
          
          sapply(strsplit(xx, split = " "),
                 FUN = function(x) paste(x[6:length(x)], collapse = " "))
          
          # [1] "I like Bananas"   "I like Chocolate"
          

          【讨论】:

            猜你喜欢
            • 2013-02-28
            • 2017-01-25
            • 2021-01-04
            • 2022-09-27
            • 2016-02-17
            • 2016-01-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多