Cómo agregar relleno a una string en Java
Esta publicación discutirá cómo agregar relleno a una string en Java.
1. Usando String.format()
método
Una solución común para rellenar una string con espacios a la izquierda/derecha es usar el String.format()
método. Por ejemplo,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public class Main { public static String padLeft(String s, int n) { return String.format("%" + n + "s", s); } public static String padRight(String s, int n) { return String.format("%-" + n + "s", s); } public static void main(String[] args) { String s = "ABC"; int n = 5; System.out.println(padLeft(s, n)); // " ABC" System.out.println(padRight(s, n)); // "ABC " } } |
Si su string es numérica, puede rellenarla con ceros convirtiéndola en un número entero:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class Main { public static String padLeft(String s, int n) { return String.format("%0" + n + "d", Integer.parseInt(s)); } public static void main(String[] args) { String s = "123"; int n = 5; System.out.println(padLeft(s, n)); // 00123 } } |
2. Uso de Apache Commons StringUtils
class
Alternativamente, puede aprovechar Apache Commons Lang's StringUtils
class leftPad()
y rightPad()
métodos de utilidad, que pueden agregar un relleno específico al inicio y al final de una string, respectivamente.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import org.apache.commons.lang3.StringUtils; public class Main { public static void main(String[] args) { String str = "ABC"; int size = 5; char padChar = '0'; System.out.println(StringUtils.leftPad(str, size, padChar)); // 00ABC System.out.println(StringUtils.rightPad(str, size, padChar)); // ABC00 } } |
3. Usar Guava
También puede aprovechar padStart()
y padEnd()
método ofrecido por Guava's Strings
clase. La firma del método sigue siendo la misma que la solución anterior.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import com.google.common.base.Strings; public class Main { public static void main(String[] args) { String str = "ABC"; int size = 5; char padChar = '0'; System.out.println(Strings.padStart(str, size, padChar)); // 00ABC System.out.println(Strings.padEnd(str, size, padChar)); // ABC00 } } |
Eso es todo sobre el relleno de una string en Java.