[英]it possible use a named variable for print a named group in closure in groovy?
類似這樣的代碼
請幫我
"56".replaceAll(/(?<name1>\d)(?<name2>\d)/){print name1}
你可以用
"56".replaceAll(/(?<name1>\d)(?<name2>\d)/) {_, name1, name2 ->
println name1
println name2
}
輸出:
5
6
這里的要點是匹配Matcher
返回的匹配對象包含3個組,即它等於捕獲組的數量,整個匹配本身為組0.因此,您應該為閉包參數提供全部3,然后您可以打印任何你喜歡的。
如果我理解你的問題是正確的,那么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
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.