我在访问列表项并从中替换特定项时遇到问题。下面是用新行('\ n')拆分字符串后的结果列表。
bool PlayerWon(char player) {
return AnyRowComplete(player) || AnyColumnComplete(player) || AnyDiagonalComplete(player);
}
我的问题是如何从列表中访问特定项目,并使用Groovy脚本将其替换为空值。
我的意思是,例如,从列表中访问“Application”并使用Groovy脚本将其值设置为空('')。
答案 0 :(得分:1)
就像您看到评论一样,您定义的数据是地图,而不是列表。
您可以简单地更新值,如下所示
def map = [Node: '', 'Message group': '', Application: 'appl', Severity: 'critical']
println map
//Update value
map.Application = ''
//or you can use any of below notation as well to update
//map['Application'] = ''
//map.put('Application', '')
println map
您可以在线试用 demo
答案 1 :(得分:0)
如果它是一个列表,你可以构建一个新的只是迭代列表找到所需的项目并替换它。
def data='''
Node:
Message group:
Application: appl
Severity: critical
'''
def lst = new StringReader(data).readLines()
for(int i=0;i<lst.size();i++){
if(lst[i].startsWith('Application:'))lst[i]='Application:'
}
println lst