2017-09-22 93 views
0

我試圖從我從OCR格式的pdf文件中提取的文本中搜索單詞。這個pdf文件有多個頁面,所以對於每個頁面我搜索一個詞,如果找到這個詞,那麼我不希望for循環繼續,我使用了代碼,但它只停留在第一頁上。這個代碼中缺少什麼? 這裏是代碼如果在r條件的條件中出現中斷條件

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 

} 

任何建議是可觀的。

感謝

+0

這適用於下面的例子:'對(我在SSSS){如果(我== 「helo」)休息;打印(ⅰ)}'。 – lmo

回答

1

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 
> 
+0

爲「stopifnot」豎起大拇指... – deepesh