超出环境变量WORKSPACE的位置,我需要提取最后一个'\'之后的字符串的一部分。例如,我有something1\something2\something3
,我需要提取 something3 并将其另存为Jenkinsfile中的环境变量。
我已经尝试过这种方法:
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
答案 0 :(得分:2)
在Groovy和许多其他语言中,\
是转义字符。因此,在lastIndexOf中,'\'
正在打开一个字符串,然后转义结束的'
您只需要转义\
(转义转义)
"${(env.WORKSPACE).substring((env.WORKSPACE).lastIndexOf('\\'), (env.WORKSPACE).length())}"
您也可以从字符串中删除它,因为它已经是字符串:
service = env.WORKSPACE.substring(env.WORKSPACE.lastIndexOf('\\'), env.WORKSPACE.length())
应该足够