Groovy 创建复杂的环境变量
在环境变量工作区之外,我需要提取最后一个'\'之后的部分字符串。例如,我有Groovy 创建复杂的环境变量,groovy,jenkins-pipeline,Groovy,Jenkins Pipeline,在环境变量工作区之外,我需要提取最后一个'\'之后的部分字符串。例如,我有something1\something2\something3,我需要提取something3,并将其保存为Jenkins文件中的环境变量 我尝试过这种方法: groovy environment { service = "${(env.WORKSPACE).substring((env.WORKSPACE).lastIndexOf('\'), (env.WORKSPACE).length())}"
something1\something2\something3
,我需要提取something3,并将其保存为Jenkins文件中的环境变量
我尝试过这种方法:
groovy
environment {
service = "${(env.WORKSPACE).substring((env.WORKSPACE).lastIndexOf('\'), (env.WORKSPACE).length())}"
}
但在运行时,我发现一个错误:
WorkflowScript: 20: expecting ''', found '\n' @ line 20, column 113.
(env.WORKSPACE).length())}"""
^
1 error
在Groovy和许多其他语言中,
\
是转义字符。因此,在lastIndexOf中,'\'
打开一个字符串,然后转义结束的'
您只需转义\
(转义)
您也可以将其从字符串中取出,因为它已经是一个字符串:
service = env.WORKSPACE.substring(env.WORKSPACE.lastIndexOf('\\'), env.WORKSPACE.length())
应该足够了我使用了第一个解决方案,效果很好。我还必须在开始索引中添加+1
service = env.WORKSPACE.substring(env.WORKSPACE.lastIndexOf('\\'), env.WORKSPACE.length())