Groovy 将括号中的输出筛选为列表
我有这样一句话:Groovy 将括号中的输出筛选为列表,groovy,devops,jenkins-groovy,Groovy,Devops,Jenkins Groovy,我有这样一句话: [Something-26543] One ticket [Something-23121] Second ticket [Something-21243] Third ticket and so on 有没有人能给我一个建议,如果有一种方法可以把方括号之间的那一行变灰。 之前: 过滤后: Something-26543 Something-23121 Something-21243 我写的是一个例子。注“asdfasdf”不在任何括号之间,因此不应匹配:
[Something-26543] One ticket
[Something-23121] Second ticket
[Something-21243] Third ticket and so on
有没有人能给我一个建议,如果有一种方法可以把方括号之间的那一行变灰。
之前:
过滤后:
Something-26543
Something-23121
Something-21243
我写的是一个例子。注“asdfasdf”不在任何括号之间,因此不应匹配:
def changeString = ['[DPDHLPA-26607] Updating robots.txt', '[DPDHLPA-2321] [DPDHLPA-2322] Updating something.txt', 'asdfasdf']
def TICKET_LIST = (changeString =~ /(?<=\[)[^]]+(?=\]/[0].readLines().unique().sort().join('\n')
print TICKET_LIST //to see if it got the filtered list
def changeString=['[DPDHLPA-26607]更新robots.txt',[DPDHLPA-2321][DPDHLPA-2322]更新something.txt','asdfasdf']
def TICKET_LIST=(changeString=~/(?您应该能够执行以下操作:
def ticketList = changeString.findResults { str ->
(str =~ /\[([^]]+)].*/).with {
it.matches() ? it[0][1] : null
}
}
您应该能够做到:
def ticketList = changeString.findResults { str ->
(str =~ /\[([^]]+)].*/).with {
it.matches() ? it[0][1] : null
}
}
如何将其作为列表?这是一个列表。好的,很抱歉出现了noobish问题。我是否可以将trim()和标记化(\n)添加到此列表中。当前打印时,输出结果显示为一行:“[DPDHLPA-2321,DPDHLPA-26607]”。不是在groovy中的列表中,当您打印列表时,它被序列化为一行字符串,并用括号和逗号分隔。就像Tim Yates提到的,这是一个列表。println([1,2,3])
->[1,2,3]
和println([1,2,3].getClass())
->类java.util.ArrayList
如果要修剪:def ticketList=changeStr.findResults{str->…}.collect{it.trim()}
如何将其作为一个列表?这是一个列表。好的,很抱歉这个问题。我是否可以将trim()和标记化(\n”)添加到此列表中。当前打印时的输出将其显示为一行:[DPDHLPA-2321,DPDHLPA-26607]”。不是在groovy中的列表中,当您打印列表时,它被序列化为一行字符串,并用括号和逗号分隔。就像Tim Yates提到的,这是一个列表。println([1,2,3])
->[1,2,3]
和println([1,2,3].getClass())
->class java.util.ArrayList
如果要修剪:def ticketList=changeStr.findResults{str->…}.collect{it.trim()}