[英]R: Extract N characters after M regex matches in one string
在一個字符串中所有正則表達式匹配之后,我很難准確地提取N個字符。 例如N = 3,並且正則表達式匹配是一個左括號“(”,如果M> = 1,則可以在它們之間粘貼一個輔助詞。
x1 = "use actual (Mon 3)|(Tue 4)"
x2 = "use actual (Mon 10)"
x3 = "use actual"
所需的輸出是:
"Mon and Tue"
"Mon"
""
我從gsub( ".*\\\\(", "", c("use actual (Mon 3)|(Tue 4)"))
,然后嘗試跟隨R提取字符串的一部分,但在?
和通配符中迷路了。 謝謝!
嘗試
library(stringr)
sapply(str_extract_all(x, perl('(?<=\\()[A-Za-z]{3}')),
paste, collapse=' and ')
#[1] "Mon and Tue" "Mon" ""
#[4] "Mon and Tue and Wed" "Mon"
x4 <- "use actual (Mon 3)|(Tue 4)|(Wed 5)"
x5 <- "foo (Mond bar)"
x <- c(x1, x2, x3, x4, x5)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.