0Pricing
Java Academy · Lección

Sangría y eliminación

Controle los espacios en blanco incidentales

Sangría y eliminación es una lección gratuita de Java Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Java Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Java Academy incluye 4 lecciones en total.

Espacios en blanco incidentales y esenciales

Cuando indenta un bloque de texto para alinearlo con su código, esa indentación es incidental y no debe formar parte de la cadena. Java la elimina automáticamente y conserva solo los espacios en blanco esenciales.

El delimitador de cierre establece el margen

Java examina todas las líneas de contenido y el """ de cierre para encontrar la columna no vacía más a la izquierda que tienen en común. Todo lo que queda a la izquierda de ese margen se elimina.

public class Main {
    public static void main(String[] args) {
        String text = """
            Hello
            World
            """;
        System.out.println("[" + text + "]");
    }
}

Mover las comillas de cierre a la izquierda

Si el """ de cierre está más a la izquierda que el contenido, los espacios iniciales adicionales de cada línea se conservan como espacios en blanco esenciales.

public class Main {
    public static void main(String[] args) {
        String text = """
                Hello
                World
        """;
        System.out.print(text);
    }
}

Los espacios en blanco finales se eliminan

Los espacios al final de cada línea se eliminan automáticamente. Esto evita los errores causados por espacios finales invisibles que afectan a las cadenas normales.

public class Main {
    public static void main(String[] args) {
        String text = """
            line one
            line two
            """;
        for (String line : text.split("\n")) {
            System.out.println("<" + line + ">");
        }
    }
}

El método stripIndent

El método String.stripIndent() aplica el mismo algoritmo de espacios en blanco incidentales a cualquier cadena durante la ejecución. Es lo que los bloques de texto utilizan internamente.

public class Main {
    public static void main(String[] args) {
        String raw = "    a\n    b\n    c\n";
        System.out.print(raw.stripIndent());
    }
}

Controlar la indentación interna

La indentación relativa al margen se conserva. Aquí, la segunda línea tiene más indentación que la primera, y esa indentación adicional permanece en la salida.

public class Main {
    public static void main(String[] args) {
        String tree = """
            root
              child
                grandchild
            """;
        System.out.print(tree);
    }
}

El método indent

String.indent(int n) añade n espacios al principio de cada línea y garantiza un salto de línea final. Es útil para anidar bloques de texto.

public class Main {
    public static void main(String[] args) {
        String text = """
            a
            b
            """;
        System.out.print(text.indent(4));
    }
}

strip frente a trim

Utilice strip() para eliminar los espacios en blanco iniciales y finales de todo el bloque. A diferencia del trim() antiguo, strip() tiene en cuenta Unicode.

public class Main {
    public static void main(String[] args) {
        String text = """
            
            content
            
            """;
        System.out.println("[" + text.strip() + "]");
    }
}

Comillas de cierre en su propia línea

Si el """ de cierre está en su propia línea, la cadena termina con un salto de línea final. Colóquelo justo después del último carácter para eliminar ese salto de línea.

public class Main {
    public static void main(String[] args) {
        String withNewline = """
            done
            """;
        String noNewline = """
            done""";
        System.out.println("A:" + withNewline.length());
        System.out.println("B:" + noNewline.length());
    }
}

Alinear con el código

Puede indentar todo el bloque para alinearlo con el código circundante y mejorar la legibilidad; la indentación incidental desaparecerá del valor.

public class Main {
    static String menu() {
        return """
                Start
                Options
                Quit
                """;
    }
    public static void main(String[] args) {
        System.out.print(menu());
    }
}

Verificar el margen

Para depurar la eliminación de espacios, rodee cada línea con marcadores. Así podrá ver exactamente qué espacios iniciales se conservaron.

public class Main {
    public static void main(String[] args) {
        String block = """
            x
              y
            """;
        for (String line : block.split("\n")) {
            System.out.println("|" + line + "|");
        }
    }
}

Comprobación rápida

¿Qué determina cuántos espacios en blanco iniciales (incidentales) se eliminan de un bloque de texto?

Resumen

Ha aprendido sobre la indentación y la eliminación de espacios:

  • La indentación incidental se elimina automáticamente
  • La posición del """ de cierre puede establecer el margen
  • Los espacios en blanco al final de las líneas se eliminan
  • stripIndent(), indent(n) y strip() ayudan durante la ejecución
  • La posición de las comillas de cierre controla el salto de línea final

Preguntas frecuentes

¿La lección «Sangría y eliminación» es gratis?

Sí — el texto completo de «Sangría y eliminación» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Java Academy, actualiza a CoddyKit PRO. El curso de Java Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Sangría y eliminación»?

Controle los espacios en blanco incidentales Practicas Java Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Java Academy?

No se requiere experiencia previa. Java Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Sangría y eliminación»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Java Academy?

Sí. Cada lección de Java Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Declaración de bloques de texto
  2. Sangría y eliminación
  3. Secuencias de escape en bloques de texto
  4. Casos de uso: JSON y SQL
← Volver a Java Academy