作者:天空的鸟儿飞 | 来源:互联网 | 2022-12-01 23:37
我想%s
用价值代替
artifactory
%s
%s
myString.format("name", "pass")
常规中有什么方法吗?
1> ernest_k..:
Groovy具有对字符串插值的内置支持。您需要使用GString
:
def name = "name"
def pass = "pass"
String formatted = """
artifactory
$name
$pass
"""
如果您的值以数组或集合的形式出现,您甚至可以使用params[n]
而不是命名变量($name
),如下所示:
def params = ['name', 'pass']
String formatted = """
artifactory
${params[0]}
${params[1]}
"""
如果您的字符串需要外部化,则可以使用模板引擎
除此之外,您可以使用普通的Java String.format
:
def formatted = String.format(myString, "name", "pass")
2> daggett..:
基于Java的groovy,在Java format
中String
类中有一个方法
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#format(java.lang.String,%20java.lang.Object ...)
所以这应该工作
def s='''
artifactory
%s
%s
'''
println String.format(s, "name", "pass")