在 r 中的 if 条件中打破条件
break condition in if condition in r
我正在尝试从我从 OCR 格式的 pdf 文件中提取的文本中搜索单词。这个 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
}
任何建议都是可取的。
谢谢
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
>
我正在尝试从我从 OCR 格式的 pdf 文件中提取的文本中搜索单词。这个 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
}
任何建议都是可取的。
谢谢
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
>