¿Hay un código nativo o una biblioteca en Java para formatear una cadena como en C #?

Fuente: Formatee una cadena en columnas (C #)

public string DropDownDisplay { 
  get { 
    return String.Format("{0,-10} - {1,-10}, {2, 10} - {3,5}"), 
                          Name, City, State, ID);
  } 
} 
-1
FanaticTyp 19 ene. 2018 a las 12:56

3 respuestas

La mejor respuesta

Java también tiene un String opción de formato:

public String DropDownDisplay(){
    return String.format("%-10s - %-10s, %10s - %5s", "name", "city", "state", "id");
}

Hay muchos especificadores de formato como:

  • %s - Valor de cadena
  • %d - Entero decimal

Para especificar un ancho, puede usar la opción %SomeNumber,
el número positivo Justificará a la derecha dentro del ancho especificado, y un número negativo será Justifica a la izquierda .

Aquí hay ejemplos de formato Java que puede usar

2
Daniel Taub 19 ene. 2018 a las 10:20

Java proporciona String.format() con Varias opciones para formatear texto y números.

No hay necesidad de bibliotecas adicionales, es una característica incorporada.

La sintaxis es muy similar a su ejemplo. Básicamente, para imprimir una Cadena, puede usar el marcador de posición %s. Para números decimales, use %d. Vea mi enlace de arriba para obtener una lista completa de todos los tipos posibles.

String name = "Saskia";
int age = 23;
String formattedText = String.format("%s is %d years old.", name, age);

Puede agregar marcas para relleno y alineación adicionales, si desea una salida en forma de columna.

String formattedText = String.format("%-10s is %-5d years old.", name, age);

En %-10s el %s define el tipo Cadena, el - se usa para la alineación a la izquierda y el 10 define el ancho del relleno.

2
user1438038 19 ene. 2018 a las 10:18

El método de cadena simple format proporciona lo mismo que printf de C.

Pero la clase JDK java.text.MessageFormat proporciona un conjunto muy rico de formas de formateo.

1
laune 19 ene. 2018 a las 10:10
48338362