【问题标题】:Extract paragraphs only containing a keyword in r提取仅包含 r 中关键字的段落
【发布时间】:2017-07-31 16:01:44
【问题描述】:

因此,在 R 中的文本文件中,我需要扫描许多文档以查找其中提到的“折扣率”段落。然后我想提取它所在的整个段落,仅此而已。每个段落的前后都有一个空白行,在文本文件中写为“”。我提供了一些我尝试过但不起作用的示例代码和一个 txt 文件的几段,其中一个包含关键字“折扣率”

 t <- c(grep(" discount rate ",txt,ignore.case = T),grep(" discounted cash flow",txt,ignore.case = T))

  temp <- unlist(str_extract_all(txt,"\r\r. discount rate .\r\r"))

所以我的方法是尝试提取“”和“”之间的所有行,允许它们包含“折扣率”,但这段代码显然不成功。


""
" (9) 任何财产或设备的出售或处置"
“已损坏、磨损、过时或无用或无用”
“ Armor Holdings 与 Armor 业务相关的使用时间更长”
" 控股或其受限子公司。"
""
" \"可归属债务\"关于售后租回交易"
“指在确定时,该义务的现值”
"包括在剩余租赁期内的净租金支付的承租人"
“在此类售后回租交易中,包括此类交易的任何期间”
“租约已经延长,或者可以根据出租人的选择延长。这样的”
"现值应使用等于"折现率的折现率计算"
“此类交易中的隐含利益,根据公认会计原则确定。”
""
" \"受益所有人\" 具有规则 13d-3 中赋予该术语的含义"
“以及《交易法》第 13d-5 条,但在计算收益时除外”
“任何特定“人”的所有权(该术语在第 13(d)(3) 节中使用)
《交易法》),该“人”应被视为拥有实益所有权”
“该“人”有权通过转换获得的所有证券中的“或”
“行使其他证券,无论该权利目前是否可以行使”
“仅在发生后续条件时才可行使。条款”
"\"Beneficially Owns\"和\"Beneficially Owned\"应具有相应的含义。" ""
" \"董事会\" 的意思是:"
""
" (1) 就公司而言,董事会是"
“公司;”
""
” (2) 关于合伙企业,“
“合伙企业的普通合伙人;以及”
""
" (3) 关于任何其他人、董事会或委员会"
“具有类似功能的此类人员。”
""

【问题讨论】:

    标签: r string text-extraction


    【解决方案1】:

    将您的文件另存为 text.txt,这对我有用:

    data <- readLines("text.txt")
    data[nchar(data)==0]="\n"
    data = strsplit(paste(data,collapse=""),"\n")[[1]]
    data[grepl("discount rate",data,ignore.case = T)]
    

    我添加了\n 作为新行的虚拟对象,因此我可以在 strsplit 参数中对其进行拆分。该函数只返回第二段。希望这会有所帮助!

    【讨论】:

    • 这个解决方案非常适合我的应用程序,因为我从 Internet 上的目录中提取所有文本文件,谢谢!
    【解决方案2】:

    如果您不想更改文本中的换行符,可以这样做(txt 是您问题中的字符串向量)

    # generate a variable for paragraph number
    df <- data.frame(txt, paragraph = cumsum(txt == "")) 
    # find  paragraphs with the search term
    keep_paragraph <- df[grep("discount rate", df[, "txt"]), "paragraph"] 
    # subset the data.frame
    df <- df[df$paragraph %in% keep_paragraph,] 
    

    【讨论】:

    • 不错的解决方案,我一直在努力将行划分为段落,但这很好地解决了这个问题,+1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    • 2015-11-29
    • 2015-06-08
    • 2012-08-15
    • 1970-01-01
    • 2020-12-02
    • 2011-05-04
    相关资源
    最近更新 更多