groovy中的字符串插值

groovy中的字符串插值,groovy,Groovy,我有一根这样的绳子 str = "My Name is {0} and My age is greater than {1} years." 我想把它格式化成 My Name is XYZ and My age is greater than 17 years. 我试过使用def=sprintf str、name、age,但不起作用。有什么方法可以解决这个问题吗?您可以使用Groovy字符串插值。只需定义可以在GString中插入的名称和年龄变量: def name=XYZ def年龄=17

我有一根这样的绳子

str = "My Name is {0} and My age is greater than {1} years."
我想把它格式化成

My Name is XYZ and My age is greater than 17 years.

我试过使用def=sprintf str、name、age,但不起作用。有什么方法可以解决这个问题吗?

您可以使用Groovy字符串插值。只需定义可以在GString中插入的名称和年龄变量:

def name=XYZ def年龄=17 def str=我的名字是$Name,我的年龄大于$age years。 println str//prints:我叫XYZ,年龄大于17岁。 如果要使用sprintf,需要使用%s正确设置字符串变量的格式

def name=XYZ def年龄=17 def str=sprintfMy Name是%s,我的年龄大于%s岁,Name,age println str//prints:我叫XYZ,年龄大于17岁。 有关Groovy中字符串插值的更多信息,请查看官方文档页-

Hello,请您提出问题以正确格式化代码,好吗?那样会更容易阅读。