String hello = "Hello";
String.format("%s %s %s %s %s %s", hello, hello, hello, hello, hello, hello);
hello hello hello hello hello hello
A variável hello precisa ser repetida várias vezes na chamada para o método format ou existe uma versão abreviada que permite especificar o argumento uma vez a ser aplicado a todos os %s
tokens?
java
string
string-formatting
Carey
fonte
fonte
Você precisa do argumento do índice do usuário
%[argument_index$]
da seguinte maneira:Resultado:
hello hello hello hello hello hello
fonte
Um caso comum para reutilizar um argumento em
String.format
é com um separador (por exemplo,";"
para CSV ou guia para console).Esta não é a saída desejada.
"c"
não aparece em lugar nenhum.Você precisa usar o separador primeiro (com
%s
) e usar apenas o índice de argumentos (%2$s
) para as seguintes ocorrências:Espaços são adicionados para facilitar a leitura e a depuração. Depois que o formato parecer correto, os espaços poderão ser removidos no editor de texto:
fonte