Groovy Split 在 Jenkins 管道中没有按预期工作

Groovy Split not working as expected in Jenkins Pipeline

我正在尝试根据分隔符“.”拆分字符串。 (DOT) 在 Jenkins 管道 中使用 groovy 拆分函数,我想将拆分子字符串分配给一行中的多个变量。以下是我的代码(它在 groovy 中工作)并且我在 Jenkins 管道中不断收到错误,我在这里做错了什么?有没有其他方法可以做到这一点?非常感谢任何指点。

    IP="192.168.234.20"
    def (env.W, env.X, env.Y, env.Z) = IP.split('\.')
    
    Error:
    WorkflowScript: 543: expecting an identifier, found ',' @ line 543, column 28.
     (env.W, env.X, env.Y, env.Z) = IP.split('\.')
           ^
    IP="192.168.234.20"
    (env.W, env.X, env.Y, env.Z) = IP.split('\.')
    
    Error:
    WorkflowScript: 543: expecting ')', found ',' @ line 543, column 24.
     (env.W, env.X, env.Y, env.Z) = IP.split('\.')
           ^

您需要定义变量 IP,您可以使用 splittokenize:
下面是一个工作示例:

def IP = "192.168.234.20"
def (W,X,Y,Z) = IP.split('\.')
                    println(W)
                    println(X)
                    println(Y)
                    println(Z)
// OR
def (A,B,C,D) = IP.tokenize('\.')
                    println(A)
                    println(B)
                    println(C)
                    println(D)