我一直试图解决这个问题很长一段时间。
我想更改字符串中每次出现的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也会发生变化。
任何想法?
答案 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 }
不是最优雅或最简洁,但它完成了我相信你的问题。