使用groovy脚本拆分变量

使用groovy脚本拆分变量,groovy,Groovy,我对groovy脚本非常陌生。我有一个要求,需要将字符串拆分为不同的变量 例如:100546\u 2018\u 03\u 100900100546\u YDE4567832.xml V1 : 100546 V2 : 2018 V3 : 03 V4 : 100900100546_YDE4567832.xml 您能帮我获取代码片段吗。以下代码符合您的预期结果 def s="100546_2018_03_100900100546_YDE4567832.xml" def v=s.split("_")

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

例如:
100546\u 2018\u 03\u 100900100546\u YDE4567832.xml

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

您能帮我获取代码片段吗。

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

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
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]​

演示在这里:

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

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]​

演示在这里:

您可以通过
拆分
来解决此问题,最多使用
\uu
4个元素。例如

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']

您可以通过使用最多4个元素进行拆分来解决此问题。例如

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']