0

我正在转换从 pdf 文件中读取的文本。

特别是,我有一个字符向量,其中包含连字符(“-”),用于执行音节化,或将单词分隔为新行,但仅当它出现在 numbers 时。例如:

text text text 123-
456 text text..

我想要做的是删除所有连字符并将这些单词粘贴在一起。

text text text 123456 
text text..

我的开始尝试:

library(pdftools)
library(tidytext)
library(readxl)
library(dplyr)
setwd("~/Automation - Official Guazzete")
path <- getwd()
pdf_file <- file.path(path, "stecajni_postapki.pdf")

test <- pdf_text(pdf_file)

dput(tail(test)[1])
"10 јули 2017                                                     Бр. 86 - Стр. 1\r\n             Стечајни постапки\r\n                                  СТЕЧАЈНИ ПОСТАПКИ\r\n                           Основниот суд Скопје II – Скопје преку стечајниот\r\n                       судија Вероника Станојевска и привремениот стечаен\r\n                       управник Ѓорѓе Костов, објавува дека со Решение 2\r\n                       Ст. бр. 841/17 од 16.6.2017 година, се отвора стечајна\r\n                       постапка над должникот Друштво за производство, тр-\r\n                       говија КБ ТРЕЈД Ќиро ДООЕЛ Скопје, со трансакцис-\r\n                       ка сметка 300000000744414 при Комерцијална банка\r\n                       АД Скопје со ЕДБ 403099419454 Скопје, ЕМБС\r\n                       4854217 и единствен даночен број 4030003477097 и\r\n                       приоритетна дејност на мало во неспецијализирани про-\r\n                       давници претежно со храна и пијалаци... <truncated>

从这里,我尝试:

test <- gsub("-", "", test)

但这会返回单独的数字。例如

  1. 123 2. 456

没有一个字 - 123456。

有任何想法吗?

4

2 回答 2

0

如果您\n在 gsub 中包含该字符,它应该这样做

S <- "text text text 123-
      456 text text"
"text text text 123-\n456 text text"

gsub("-\n", "", S)
# "text text text 123456 text text"
于 2017-09-26T11:59:13.320 回答
0

这种细微的变化可能会解决您的问题。它会找到连字符后跟换行符的实例并将它们折叠起来。

test <- gsub("-\\n+", "", test)

如果做不到这一点,您可能会定义一个函数,将包含“-”的元素 [i] 替换为自身和元素 [i+1],然后将元素 [i+1] 替换为 NA 或某个占位符,以便稍后删除。

于 2017-09-26T12:05:42.340 回答