Строковая интерполяция в groovy - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть такая строка

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 f = sprintf( str , name, age), но она не работает. Есть ли способ поработать над этим?

1 Ответ

1 голос
/ 08 апреля 2020

Вы можете использовать Groovy Строковая интерполяция. Просто определите name и age переменные, которые вы можете интерполировать в GString:

def name = "XYZ"
def age = 17

def str = "My Name is $name and My age is greater than $age years."

println str // prints: My Name is XYZ and My age is greater than 17 years.

Если вы хотите использовать sprintf, вам нужно использовать %s для правильного форматирования строковых переменных.

def name = "XYZ"
def age = 17

def str = sprintf("My Name is %s and My age is greater than %s years.", name, age)

println str // prints: My Name is XYZ and My age is greater than 17 years.

Посетите официальную страницу документации для получения дополнительной информации о интерполяции строк в Groovy - https://groovy-lang.org/syntax.html#_string_interpolation

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...