En ocasiones queremos generar un texto de un ancho fijo y rellenar con espacios los caracteres que no son utilizados o ocupados por la cadena de caracteres que contiene, por ejemplo, tenemos una cadena con el contenido “ABC” y queremos generar una cadena de 10 caracteres con el texto “ABC” cargado a la izquierda, y el resto de los caracteres a la derecha, rellenarlos con espacios.
Para eso podemos usar el método format de la clase String, de esta forma:
String textoFormateado = String.format("%-10s", "ABC");
System.out.println("[" + textoFormateado + "]");
El código anterior arrojaría el siguiente resultado:
[ABC ]
Los corchetes cuadrados se agregaron para apreciar los espacios en la cadena de texto.
Si quisiéramos usar este mismo método para rellenar con otro caracter, usaríamos el método replace de la clase String para reemplazar los espacios por el caracter deseado; así:
String textoFormateado = String.format("%-10s", "ABC").replace(' ','*');
System.out.println("[" + textoFormateado + "]");
Lo que daría como resultado:
[ABC*******]
Si en lugar de usar el formato “%-10s” en el método format, usáramos “%10s” los espacios y/o asteriscos, aparecerían a la izquierda del texto.
Les dejo de tarea este ejercicio.
Espero y les sea útil este tip. ¡Saludos!