需要取出“(”之前的所有字符并将其与“;”组合起来
stringr::word(pilist, 2, sep = '(\\s*|\\')
pilist = "pi1(tag1,tag2);pi2(tag3,tag4,tag5);"
我希望输出为
"pi1;pi2"
答案 0 :(得分:1)
如果您的字符串具有与所示完全相同的结构,则可以使用;
删除圆括号和结尾gsub
之间的所有内容
gsub("\\(.*?\\)|;$", "", pilist)
#[1] "pi1;pi2"
但是,按照您的描述,也可以通过提取我们想要的单词而不是删除单词来完成。使用str_extract_all
paste0(stringr::str_extract_all(pilist, "(\\w+)(?=\\(.*\\))")[[1]], collapse = ";")
#[1] "pi1;pi2"
答案 1 :(得分:1)
您可以尝试此模式
public static PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer("my-custom-database-image")
.withDatabaseName("my_db")
.withUsername("my_name")
.withPassword("my_pwd")
.withExposedPorts(5432);
注意:-根据您的正则表达式引擎,将转义符用作\([^)]+\)|;+$
或\\