像这段代码
请帮帮我
"56".replaceAll(/(?<name1>\d)(?<name2>\d)/){print name1}
答案 0 :(得分:2)
您可以使用
"56".replaceAll(/(?<name1>\d)(?<name2>\d)/) {_, name1, name2 ->
println name1
println name2
}
输出:
5
6
这里的要点是Matcher
返回的匹配对象包含3个组,即它等于捕获组的数量,整个匹配本身为0组。因此,你应该提供所有3个关闭参数,然后你可以打印任何你喜欢的。
答案 1 :(得分:1)
如果我理解你的问题是正确的,那么Get as a map将永远帮助你。如下面显示的代码。
println getMap('12345').name1
Map getMap (String input)
{
Map namemap = [:]
input.eachWithIndex{val, id -> id+=1 ; namemap["name$id"]=val}
return namemap
}