在Groovy中的字符串中间插入%字符

时间:2017-02-28 13:23:51

标签: jenkins groovy

下面的我的代码片段(从Jenkins运行)

def mainUrl = "http://localhost:8080/job/"
...
jobsName.each(){
  println "Jobs: ${it}"
  println "${mainUrl}${it}/config.xml"
}

其中输出如下:

Jobs: Env_test
Jobs: Dev_test
Jobs: Model test
Jobs: Prod test

我正在尝试用%替换空格字符并使用replaceAll方法,但仍然没有运气。

println "${mainUrl}${it}.replaceAll("//s","%")/config.xml"

我得到的输出:

  

http://localhost:8080/job/Model test.replaceAll(

     

http://localhost:8080/job/Prod test.replaceAll(

我正在寻找像

这样的输出
http://localhost:8080/job/Model%test/config.xml
http://localhost:8080/job/Prod%test/config.xml

任何建议。感谢。

2 个答案:

答案 0 :(得分:3)

尝试:

docker run --rm --network=mynetwork tutum/curl \
  /bin/sh -c 'for i in `seq 1 10`; do curl -s http://Url; done'

答案 1 :(得分:2)

将您的代码更改为:

println "${mainUrl}${it}".replaceAll("\\s","%") + "/config.xml"

将这一点分开,意味着:

  • 加入mainUrlit(您错过{it}后的双引号字符,
  • 替换每个空格(正则表达式需要反斜杠(不是正斜杠),但这里应加倍),
  • 并添加/config.xml,但作为单独的字符串。