我试图从我从pdf文件中提取的文本中搜索一个单词,这是OCR的格式。这个pdf文件有多个页面,所以对于我正在搜索的每一页,如果找到一个单词,那么我不希望for循环继续,我使用了代码,但它只是停留在第一页。我在这段代码中遗漏了什么。这是代码
for(i in 1:8){
img_file <- pdftools::pdf_convert("D:/Files_OCR/test.pdf", format = 'tiff', pages = i, dpi = 400)
text <- ocr(img_file)
ocr_text <- capture.output(cat(text))
check=sapply(ocr_text, paste0, collapse="")
if(length(which(stri_detect_fixed(tolower(check),tolower("school")))) <= 0){ print("Not Present") } else {print("Present")}
if(br=="present")
break
}任何建议都是值得注意的。
谢谢
发布于 2017-09-22 11:13:13
stopifnot是与grepl耦合的函数,它应该可以帮助您打破循环。
> ssss <- c('hi','helo','confusion','india')
> ssss
[1] "hi" "helo" "confusion" "india"
> for(n in ssss){stopifnot(grepl('confusion',n)); print(n)}
Error: grepl("confusion", n) is not TRUE
> ssss[1] <- 'confusion'
> for(n in ssss){stopifnot(grepl('confusion',n)); print(n)}
[1] "confusion"
Error: grepl("confusion", n) is not TRUE
> https://stackoverflow.com/questions/46362539
复制相似问题