我有这个字符串:
" White,George Voultsios先生"
我想在空格和点之间提取部分:
"先生"
答案 0 :(得分:0)
std::experimental
答案 1 :(得分:0)
你可以使用带有lookbehind的正则表达式和点的前瞻:
## The data:
x <- c("White, Mr. George Voultsios", "LastName, Mrs. Firstname")
使用基础包:
regmatches(x, regexpr("(?<= ).*(?=\\.)", x, perl = TRUE))
# [1] "Mr" "Mrs"
使用包stringr
:
library(stringr)
stringr::str_extract(x, "(?<= ).*(?=\\.)")
# [1] "Mr" "Mrs"
(?<= ).*(?=\\.)
模式的作用是:
(?<= )
).*
)(?=\\.)
)