使用groovy脚本拆分变量

时间:2018-03-13 10:11:13

标签: groovy

我非常喜欢groovy脚本。我有一个要求,需要将字符串拆分为不同的变量。

例如:100546_2018_03_100900100546_YDE4567832.xml

V1 : 100546
V2 : 2018
V3 : 03
V4 : 100900100546_YDE4567832.xml

你能不能帮助我获取代码片段。

4 个答案:

答案 0 :(得分:4)

您可以split使用_最多4个元素来解决此问题。 E.g。

def s = "100546_2018_03_100900100546_YDE4567832.xml"
def (v1, v2, v3, v4) = s.split("_", 4) // XXX
println([v1,v2,v3,v4].inspect())
// => ['100546', '2018', '03', '100900100546_YDE4567832.xml']

答案 1 :(得分:1)

def s="100546_2018_03_100900100546_YDE4567832.xml"
def v=s.split("_")
println v[0] // prints 100546
println v[1] // prints 2018
println v[2] // prints 03
println v[3] // prints 100900100546
println v[4] // prints YDE4567832.xml

答案 2 :(得分:0)

def (v1, v2, v3, v4part1, v4part2) = '100546_2018_03_100900100546_YDE4567832.xml'.tokenize('_')
def v4 = v4part1 + '_' + v4part2

答案 3 :(得分:0)

以下代码符合您的预期结果。

String str = "100546_2018_03_100900100546_YDE4567832.xml"
List versionList =  str.tokenize("_")
println "v1 : "+versionList[0]+", v2 : "+​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​versionList[1]+​", v3 : "+versionList[2]+​", v4 : "+versionList[3]+​"_"+​​​​​​versionList[4]​

演示在这里:https://groovyconsole.appspot.com/script/5176945876664320