2017-09-22 27 views
0

OCRの形式であるpdfファイルから抽出したテキストから単語を検索しようとしています。このpdfファイルには複数のページがありますので、各ページごとに単語を検索していますが、その単語が見つかったらforループを続行したくない場合は、コードを使用しますが、最初のページで停止します。このコードでは何が分かりませんか? は、ここにコードrのif条件でブレーク条件

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

を破る助けるべきであるこれは、以下の例で動作します: '(I SSSS中){(I ==場合のために"helo")break; print(i)} '。 – 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