Regex 在R中的括号内提取信息
我有一些行,一些有括号,一些没有。例如Regex 在R中的括号内提取信息,regex,r,gsub,Regex,R,Gsub,我有一些行,一些有括号,一些没有。例如ABC(DEF)和ABC。我想从括号中提取信息: ABC(DEF)->DEF ABC->NA 我写 gsub(".*\\((.*)\\).*", "\\1",X). 它适用于ABC(DEF),但在没有括号时输出“ABC”。如果在正则表达式中使用sub时不想获得ABC,则需要添加一个与所有非空字符串匹配的替代项并将其删除 X <- c("ABC(DEF)", "ABC") sub(".*(?:\\((.*)\\)).*|.*", "\\1",X)
ABC(DEF)
和ABC
。我想从括号中提取信息:
- ABC(DEF)->DEF
- ABC->NA
gsub(".*\\((.*)\\).*", "\\1",X).
它适用于ABC(DEF),但在没有括号时输出“ABC”。如果在正则表达式中使用
sub
时不想获得ABC
,则需要添加一个与所有非空字符串匹配的替代项并将其删除
X <- c("ABC(DEF)", "ABC")
sub(".*(?:\\((.*)\\)).*|.*", "\\1",X)
^^^
或
请参见,您也可以使用stringr
stru匹配(X,“\\([^()]*)\\)”
str_match(X, "\\((.*)\\)")
str_match(X, "\\(([^()]*)\\)")