我正在从pdf中提取行,并尝试使用来检测特定的字符串dplyr::filter(stringr::str_detect(my_column, 'my string'))
。
该字符串似乎没有可检测的编码。
这是PDF文件的链接:https : //bioconductor.org/packages/release/bioc/vignettes/Rsubread/inst/doc/SubreadUsersGuide.pdf
该字符串是第42页的表(左列)中的短划线。
我尝试检测破折号的几种表示形式,但在本文档中找不到。
如何确定此破折号的编码,以便可以用它过滤我的小标题?
pdftools::pdf_text("SubreadUsersGuide.pdf") %>%
stringr::str_split(pattern = '\r') %>%
tibble::tibble(
line = .
) %>%
tidyr::unnest(cols = line) %>%
dplyr::filter(
stringr::str_detect(line, pattern = '^EM_DASH')
)
你要匹配的字符不是一个破折号,这是一个MINUS
标志属于符号,数学Unicode的类别,用U+2212
代码。
要匹配字符串开头的任何一个或多个Unicode破折号+减号,可以使用
pattern = "^[\\p{Pd}\\xAD\\u2212]+"
这里,
^
-字符串开始[
-角色类的开始:
\p{Pd}
-任何Puncutation,短跑字符\xAD
-软连字符\u2212
-减号。]+
-字符类的结尾,一个或多个出现。请参阅regex演示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句