使用regex从R中提取字符串
我有这个向量:使用regex从R中提取字符串,r,regex,R,Regex,我有这个向量: jvm<-c("test - PROD_DB_APP_185b@SERVER01" ,"uat - PROD_DB_APP_SYS[1]@SERVER2") 我试过这样的方法: str_match(jvm, ".*\\-([^\\.]*)([.*)|(@.*)") 不工作,任何IDE?Asub带基本R的解决方案: jvm<-c("test - PROD_DB_APP_185b@SERVER01" ,"uat - PROD_DB_APP_SYS[1]@SERVER2
jvm<-c("test - PROD_DB_APP_185b@SERVER01" ,"uat - PROD_DB_APP_SYS[1]@SERVER2")
我试过这样的方法:
str_match(jvm, ".*\\-([^\\.]*)([.*)|(@.*)")
不工作,任何IDE?A
sub
带基本R的解决方案:
jvm<-c("test - PROD_DB_APP_185b@SERVER01" ,"uat - PROD_DB_APP_SYS[1]@SERVER2")
sub("^.*?\\s+-\\s+([^@[]+).*", "\\1", jvm)
见
详细信息:
(?或sub((\\[.*)@.*”,“”,jvm)@Sotos,对不起,你的答案是对的,在“-”和“[”或“@”
-如果这是一个字符串,你可以使用之间快速修改一下,我有这个向量
(?Try或
stru-extract(jvm)(?)?
jvm<-c("test - PROD_DB_APP_185b@SERVER01" ,"uat - PROD_DB_APP_SYS[1]@SERVER2") sub("^.*?\\s+-\\s+([^@[]+).*", "\\1", jvm)
str_extract(jvm, "(?<=-\\s)[^@\\[]+")