【问题标题】:Removing words between characters and blank lines in R [closed]删除R中字符和空行之间的单词[关闭]
【发布时间】:2021-10-05 15:58:28
【问题描述】:

我有一个数据框,其中有一列的单元格看起来像这样:

"***ORDER LIST***\nCustomer: Lucille\nitem1: apples\nitem2: oranges"
"***ORDER LIST***\nCustomer: Frank and Sally\nitem1: wine\nitem2: milk"
"***ORDER LIST***\n\n\nitem1: wine\nitem2: milk"

我正在尝试清理每个单元格,删除以单词 Customer 开头的整行,或者如果它不存在,则删除第一个空行。

我希望最终得到这样的净化文本数据:

"***ORDER LIST***\nitem1: apples\nitem2: oranges"
"***ORDER LIST***\nitem1: wine\nitem2: milk"
"***ORDER LIST***\nitem1: wine\nitem2: milk"

使用gsub 有没有办法去掉空行和包含客户的整行?

谢谢

【问题讨论】:

    标签: r tidyverse gsub


    【解决方案1】:

    尝试类似:

    text<-c("***ORDER LIST***\nCustomer: Lucille\nitem1: apples\nitem2: oranges",
            "***ORDER LIST***\nCustomer: Frank and Sally\nitem1: wine\nitem2: milk",
            "***ORDER LIST***\n\n\nitem1: wine\nitem2: milk")
    
    
    gsub("Customer: .*?\\n|\\n\\n", " ", text)
    
    
    [1] "***ORDER LIST***\n item1: apples\nitem2: oranges" "***ORDER LIST***\n item1: wine\nitem2: milk"     
    [3] "***ORDER LIST*** \nitem1: wine\nitem2: milk"     
    

    【讨论】:

      【解决方案2】:

      这对你有用吗?

      gsub("(.*\\*).*?(\nitem.*)", "\\1\\2", text)
      [1] "***ORDER LIST***\nitem1: apples\nitem2: oranges" "***ORDER LIST***\nitem1: wine\nitem2: milk"     
      [3] "***ORDER LIST***\nitem1: wine\nitem2: milk"
      

      【讨论】:

        猜你喜欢
        • 2020-08-26
        • 1970-01-01
        • 2016-11-27
        • 2018-04-24
        • 1970-01-01
        • 1970-01-01
        • 2015-02-08
        • 2015-04-27
        • 1970-01-01
        相关资源
        最近更新 更多