Formateo de cadenas en Java

JavaJavaBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En Java, el método String.format() formatea una cadena utilizando una combinación de una cadena de formato, una configuración regional y argumentos. La cadena de formato especifica el formato al que deben convertirse los argumentos, y la configuración regional especifica cualquier configuración que se debe utilizar, como el idioma o la región. En este laboratorio, aprenderemos más sobre cómo utilizar el método String.format() para formatear cadenas.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/BasicSyntaxGroup -.-> java/output("Output") java/StringManipulationGroup -.-> java/strings("Strings") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/date("Date") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/exceptions("Exceptions") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/format("Format") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/output -.-> lab-117958{{"Formateo de cadenas en Java"}} java/strings -.-> lab-117958{{"Formateo de cadenas en Java"}} java/date -.-> lab-117958{{"Formateo de cadenas en Java"}} java/exceptions -.-> lab-117958{{"Formateo de cadenas en Java"}} java/format -.-> lab-117958{{"Formateo de cadenas en Java"}} java/string_methods -.-> lab-117958{{"Formateo de cadenas en Java"}} end

Creando un ejemplo básico de formateo de cadenas

En este paso, crearemos un ejemplo básico de uso del método String.format() para formatear una cadena.

  1. Crea un nuevo archivo Java llamado SimpleFormatExample.java en el directorio ~/project.
  2. En el método main() de la clase SimpleFormatExample, crea una variable de cadena llamada formattedString y asígnale el resultado de llamar a String.format() con los siguientes argumentos:
    1. La cadena "Hola, %s!" como cadena de formato.
    2. La cadena "mundo" como argumento.
  3. Imprime el valor de formattedString utilizando System.out.println().
  4. Guarda y cierra el archivo SimpleFormatExample.java.
  5. En la terminal, compila el archivo SimpleFormatExample.java ejecutando el siguiente comando: javac SimpleFormatExample.java.
  6. Luego, ejecuta el archivo de clase utilizando el comando java SimpleFormatExample.

Aquí está el código:

public class SimpleFormatExample {
    public static void main(String[] args) {
        String formattedString = String.format("Hello, %s!", "world");
        System.out.println(formattedString);
    }
}

Cuando ejecutes el código, deberías ver la siguiente salida:

Hello, world!

Usando argumentos en la cadena de formato

En este paso, aprenderemos a usar argumentos en la cadena de formato para personalizar la salida.

  1. Abre el archivo SimpleFormatExample.java en un editor.
  2. Modifica la variable formattedString para usar un argumento para el número de caracteres a mostrar. Reemplaza la "s" en la cadena de formato con ".%d-s" para especificar el número máximo de caracteres a mostrar.
  3. Agrega un argumento entero después de la cadena de formato para representar el número máximo de caracteres a mostrar.
  4. Guarda y cierra el archivo SimpleFormatExample.java.
  5. En la terminal, compila el archivo SimpleFormatExample.java ejecutando el siguiente comando: javac SimpleFormatExample.java.
  6. Luego, ejecuta el archivo de clase utilizando el comando java SimpleFormatExample.

Aquí está el código modificado:

public class SimpleFormatExample {
    public static void main(String[] args) {
        String formattedString = String.format("Hello, %d-s!", 5);
        System.out.println(formattedString);
    }
}

Cuando ejecutes el código, deberías ver la siguiente salida:

Hello, 5-s!

Usando banderas para modificar el comportamiento de formateo

En este paso, aprenderemos a usar banderas para modificar el comportamiento de la cadena de formateo.

  1. Abre el archivo SimpleFormatExample.java en un editor.
  2. Modifica la cadena de formateo para alinear el texto a la izquierda agregando un signo menos (-) después del signo %.
  3. Agrega un argumento a la cadena de formateo para especificar el ancho mínimo de la salida.
  4. Guarda y cierra el archivo SimpleFormatExample.java.
  5. En la terminal, compila el archivo SimpleFormatExample.java ejecutando el siguiente comando: javac SimpleFormatExample.java.
  6. Luego, ejecuta el archivo de clase utilizando el comando java SimpleFormatExample.

Aquí está el código modificado:

public class SimpleFormatExample {
    public static void main(String[] args) {
        String formattedString = String.format("%-10s, world!", "Hello");
        System.out.println(formattedString);
    }
}

Cuando ejecutes el código, deberías ver la siguiente salida:

Hello    , world!

Usando caracteres de conversión para formatear diferentes tipos de datos

En este paso, aprenderemos a usar diferentes caracteres de conversión para formatear diferentes tipos de datos.

  1. Abre el archivo SimpleFormatExample.java en un editor.
  2. Modifica la cadena de formateo para incluir un número de punto flotante usando el carácter de conversión %f.
  3. Agrega un argumento de número de punto flotante después de la cadena de formateo.
  4. Guarda y cierra el archivo SimpleFormatExample.java.
  5. En la terminal, compila el archivo SimpleFormatExample.java ejecutando el siguiente comando: javac SimpleFormatExample.java.
  6. Luego, ejecuta el archivo de clase usando el comando java SimpleFormatExample.

Aquí está el código modificado:

public class SimpleFormatExample {
    public static void main(String[] args) {
        String formattedString = String.format("The value of pi is approximately %f", 3.14159265359);
        System.out.println(formattedString);
    }
}

Cuando ejecutes el código, deberías ver la siguiente salida:

The value of pi is approximately 3.141593

Usando modificadores de precisión para controlar el número de dígitos

En este paso, aprenderemos a usar modificadores de precisión para controlar el número de dígitos que se muestran en la salida formateada.

  1. Abre el archivo SimpleFormatExample.java en un editor.
  2. Modifica la cadena de formateo para incluir un número de punto flotante usando el carácter de conversión %f. Agrega un modificador de precisión (%.2f) para mostrar solo dos dígitos después del punto decimal.
  3. Agrega un argumento de número de punto flotante después de la cadena de formateo.
  4. Guarda y cierra el archivo SimpleFormatExample.java.
  5. En la terminal, compila el archivo SimpleFormatExample.java ejecutando el siguiente comando: javac SimpleFormatExample.java.
  6. Luego, ejecuta el archivo de clase usando el comando java SimpleFormatExample.

Aquí está el código modificado:

public class SimpleFormatExample {
    public static void main(String[] args) {
        String formattedString = String.format("The value of pi is approximately %.2f", 3.14159265359);
        System.out.println(formattedString);
    }
}

Cuando ejecutes el código, deberías ver la siguiente salida:

The value of pi is approximately 3.14

Usando locales para personalizar la configuración de formateo

En este paso, aprenderemos a usar locales para personalizar la configuración de formateo, como el idioma o la región.

  1. Abre el archivo SimpleFormatExample.java en un editor.
  2. Modifica la cadena de formateo para incluir un número y usar el carácter de conversión %d.
  3. Agrega un argumento entero después de la cadena de formateo.
  4. Agrega un segundo argumento al método String.format() para especificar el locale a usar. Utiliza la constante Locale.FRENCH para especificar el idioma francés.
  5. Guarda y cierra el archivo SimpleFormatExample.java.
  6. En la terminal, compila el archivo SimpleFormatExample.java ejecutando el siguiente comando: javac SimpleFormatExample.java.
  7. Luego, ejecuta el archivo de clase usando el comando java SimpleFormatExample.

Aquí está el código modificado:

import java.util.Locale;

public class SimpleFormatExample {
    public static void main(String[] args) {
        String formattedString = String.format(Locale.FRENCH, "Le nombre est %d", 123456789);
        System.out.println(formattedString);
    }
}

Cuando ejecutes el código, deberías ver la siguiente salida:

Le nombre est 123456789

Formateando valores de fecha y hora

En este paso, aprenderemos a usar el método String.format() para formatear valores de fecha y hora.

  1. Abre el archivo SimpleFormatExample.java en un editor.
  2. Agrega una declaración de importación para la clase java.util.Calendar, que usaremos para crear una instancia de calendario.
  3. Crea una nueva instancia de Calendar usando Calendar.getInstance().
  4. Modifica la cadena de formateo para incluir una fecha usando el carácter de conversión %tD.
  5. Agrega un argumento de Date después de la cadena de formateo, usando el método calendar.getTime() para obtener un valor de Date.
  6. Guarda y cierra el archivo SimpleFormatExample.java.
  7. En la terminal, compila el archivo SimpleFormatExample.java ejecutando el siguiente comando: javac SimpleFormatExample.java.
  8. Luego, ejecuta el archivo de clase usando el comando java SimpleFormatExample.

Aquí está el código modificado:

import java.util.Calendar;
import java.util.Date;

public class SimpleFormatExample {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        String formattedString = String.format("%tD", calendar.getTime());
        System.out.println(formattedString);
    }
}

Cuando ejecutes el código, deberías ver la siguiente salida:

08/22/21

Formateando con mayúsculas y minúsculas

En este paso, aprenderemos a usar los caracteres de conversión %S y %s para formatear cadenas en mayúsculas y minúsculas, respectivamente.

  1. Abre el archivo SimpleFormatExample.java en un editor.
  2. Modifica la cadena de formateo para incluir una cadena usando el carácter de conversión %S para formatear la cadena en mayúsculas.
  3. Modifica la cadena de formateo para incluir una segunda cadena usando el carácter de conversión %s para formatear la cadena en minúsculas.
  4. Guarda y cierra el archivo SimpleFormatExample.java.
  5. En la terminal, compila el archivo SimpleFormatExample.java ejecutando el siguiente comando: javac SimpleFormatExample.java.
  6. Luego, ejecuta el archivo de clase usando el comando java SimpleFormatExample.

Aquí está el código modificado:

public class SimpleFormatExample {
    public static void main(String[] args) {
        String formattedString = String.format("The word %S is in uppercase and %s is in lowercase", "HELLO", "world");
        System.out.println(formattedString);
    }
}

Cuando ejecutes el código, deberías ver la siguiente salida:

The word HELLO is in uppercase and world is in lowercase

Manejo de excepciones

En este paso, aprenderemos sobre las excepciones que pueden ser lanzadas al usar el método String.format(), y cómo manejarlas.

  1. Abre el archivo SimpleFormatExample.java en un editor.
  2. Modifica la cadena de formateo para incluir un carácter usando el carácter de conversión %c.
  3. Agrega un argumento de carácter después de la cadena de formateo.
  4. Guarda y cierra el archivo SimpleFormatExample.java.
  5. En la terminal, compila el archivo SimpleFormatExample.java ejecutando el siguiente comando: javac SimpleFormatExample.java.
  6. Luego, ejecuta el archivo de clase usando el comando java SimpleFormatExample.

Aquí está el código modificado:

public class SimpleFormatExample {
    public static void main(String[] args) {
        try {
            String formattedString = String.format("The character is %c", "too long");
            System.out.println(formattedString);
        } catch (Exception e) {
            System.out.println("An exception occurred: " + e.getMessage());
        }
    }
}

Cuando ejecutes el código, deberías ver la siguiente salida:

An exception occurred: UString.format: '%c'!= java.base/java.lang.String

Resumen

En este laboratorio, aprendimos a usar el método String.format() para formatear cadenas en Java. Comenzamos creando un ejemplo simple que usaba una cadena de formateo y argumentos para generar una cadena. Luego aprendimos a usar diferentes caracteres de conversión para formatear cadenas, así como modificadores de precisión y flags para controlar la salida. También aprendimos a usar locales para personalizar la configuración de formateo y cómo formatear valores de fecha y hora. Finalmente, discutimos algunas de las excepciones que pueden ser lanzadas al usar el método String.format() y cómo manejarlas.