在groovy中动态更改URL

时间:2013-07-16 11:24:09

标签: groovy

我一直试图解决这个问题很长一段时间。

我想更改字符串中每次出现的url:

    int i = 0
    string.for each occurrence of ("/some static part/" + ${this could be anything}) {

    replace with "/some other static part" + i + "/some other static part/"

    i++
    }

这是我描述它的最佳方式。

我无法使用replaceAll,因为url的末尾部分确实发生了变化,并且更改它的url也会发生变化。

任何想法?

2 个答案:

答案 0 :(得分:1)

Groovy模板正是您所寻找的:

def url='someurl"${dynamicPart}"abc.com'
def engine = new groovy.text.SimpleTemplateEngine() 
paramsMap=[dynamicPart : "someDynamicPart"]
template = engine.createTemplate(url).make(paramsMap)
println template.toString()

希望有所帮助!!

答案 1 :(得分:1)

def searchStatic = 'first static part'
def dynamicPart = 'some dynamic part'
def pattern = "${searchStatic}${dynamicPart}"

def replaceStatic1 = 'first static bit of replacement'
def replaceStatic2 = 'second static bit of replacement'

def idx = 0
url = url.replaceAll(pattern) { replaceStatic1 + idx++ + replaceStatic2 }

不是最优雅或最简洁,但它完成了我相信你的问题。