从句子中提取数字

5 regex string text-extraction r

我需要从文本中提取一些数字.文字是

x <- "Lorem ipsum dolor sit amet[245], consectetur adipiscing (325). Deinde prima illa, quae in congressu[232]. solemus: Quid tu, inquit, huc? Sequitur disserendi ratio cognitioque 295. naturae;"
Run Code Online (Sandbox Code Playgroud)

要提取的数字是325和232.这些数字在括号内和句子末尾.其他数字不包括在内.我尝试过strsplit(text, "[A-Za-z]+"),但没有得到我需要的东西.

Tyl*_*ker 5

这是一种stringi方法

x <- "Lorem ipsum dolor sit amet[245], consectetur adipiscing (325). Deinde prima illa, quae in congressu[232]. solemus: Quid tu, inquit, huc? Sequitur disserendi ratio cognitioque 295. naturae; Claudii libidini, qui tum erat summo ne imperio, dederetur"

library(stringi)
stri_extract_all_regex(x, "(?<=[\\[(])\\d+(?=[\\])][.?!])")

## [[1]]
## [1] "325" "232"
Run Code Online (Sandbox Code Playgroud)

  • 好奇,不是`qdap`有在括号之间获取文本的功能吗?我虽然我以前用了几次. (2认同)