Groovy имеет встроенную поддержку для интерполяции строк.Все, что вам нужно, это использовать GString
:
def name = "name"
def pass = "pass"
String formatted = """
<server>
<id>artifactory</id>
<username>$name</username>
<password>$pass</password>
</server>
"""
Если ваши значения представляют собой массив или коллекцию, вы даже можете использовать params[n]
вместо именованных переменных ($name
), например так:
def params = ['name', 'pass']
String formatted = """
<server>
<id>artifactory</id>
<username>${params[0]}</username>
<password>${params[1]}</password>
</server>
"""
Если ваша строка должна быть выведена за пределы, вы можете использовать движки шаблонов
Помимо этого, вы можете использовать обычную Java String.format
:
def formatted = String.format(myString, "name", "pass")