Recortar una cadena en Java

Rupam Yadav 12 octubre 2023
  1. Recortar una cadena usando el método trim() en Java
  2. Recorte una cadena de izquierda y derecha por separado usando Character.isWhiteSpace y while
  3. Recorte una cadena de la izquierda y la derecha por separado con Apache Commons
Recortar una cadena en Java

En este artículo, veremos cómo recortar una cuerda con espacios en blanco en los puntos inicial o final.

Recortar una cadena usando el método trim() en Java

La forma recomendada de recortar es usar el método trim() si queremos recortar los espacios iniciales y finales de una cadena de ambos lados. trim() elimina los espacios y devuelve una cadena sin los espacios finales iniciales.

A continuación, tomamos una cadena stringToTrim que tiene una cadena con espacios en los puntos inicial y final. Para comprobar si se eliminaron los espacios, imprimimos la cadena antes y después de recortarla. Los signos más (+) muestran dónde están los espacios en blanco en la cadena.

Cuando llamamos a stringToTrim.trim(), notamos que los espacios fueron eliminados.

public class TrimString {
  public static void main(String[] args) {
    String stringToTrim = "   This is just an example  ";

    System.out.println("Before trimming +++" + stringToTrim + "+++");

    stringToTrim = stringToTrim.trim();
    System.out.println("After trimming +++" + stringToTrim + "+++");
  }
}

Producción :

Before trimming +++   This is just an example  +++
After trimming +++This is just an example+++

Recorte una cadena de izquierda y derecha por separado usando Character.isWhiteSpace y while

Podemos recortar una cuerda de un solo lado, ya sea del lado izquierdo o del lado derecho. Aquí vemos dos ejemplos: uno que recorta del lado izquierdo y otro que solo quita espacios del lado derecho.

En el siguiente código, tomamos un String stringToTrim con espacios en ambos extremos. Tomamos una variable int i y la inicializamos con 0. Luego ejecutamos un bucle while que se ejecuta hasta que la variable i es menor que la longitud de stringToTrim y también buscamos espacios en blanco usando Character.isWhitespace()y dentro del método, pasamos cada carácter uno por uno usando el valor i. Ambas condiciones deben cumplirse y, si son verdaderas, el valor de i aumenta en uno.

Ahora llamamos substring() para recortar los espacios en blanco. substring() comienza desde el lado izquierdo de la cadena, por lo que recorta el lado izquierdo de la cadena y devuelve la cadena sin espacios a la izquierda.

public class TrimString {
  public static void main(String[] args) {
    String stringToTrim = "   This is just an example  ";

    int i = 0;
    while (i < stringToTrim.length() && Character.isWhitespace(stringToTrim.charAt(i))) {
      i++;
    }
    String leftTrim = stringToTrim.substring(i);

    System.out.println("Before trimming +++" + stringToTrim + "+++");

    System.out.println("After trimming +++" + leftTrim + "+++");
  }
}

Producción :

Before trimming +++   This is just an example  +++
After trimming +++This is just an example  +++

En este ejemplo, tomamos la misma cadena, pero en lugar de inicializar i con 0, la inicializamos con stringToTrim().length - 1 y luego en while, verificamos si i es mayor que o igual a 0. El método para comprobar los espacios en blanco es el mismo. Ahora, cuando se cumplen las condiciones, disminuimos la variable i en uno.

Como la substring() comienza desde el lado izquierdo de la cadena, pasamos el punto de inicio como 0, y el segundo argumento es el valor que comienza desde la derecha i+1 que elimina todos los espacios en blanco del extremo derecho.

public class TrimString {
  public static void main(String[] args) {
    String stringToTrim = "   This is just an example  ";

    int i = stringToTrim.length() - 1;
    while (i >= 0 && Character.isWhitespace(stringToTrim.charAt(i))) {
      i--;
    }
    String rightTrim = stringToTrim.substring(0, i + 1);

    System.out.println("Before trimming +++" + stringToTrim + "+++");

    System.out.println("After trimming +++" + rightTrim + "+++");
  }
}

Producción :

Before trimming +++   This is just an example  +++
After trimming +++   This is just an example+++

Recorte una cadena de la izquierda y la derecha por separado con Apache Commons

Para este ejemplo, usamos una biblioteca de terceros llamada Apache Commons. Para incluir la biblioteca en nuestro proyecto usamos la siguiente dependencia.

 <dependency>
  	<groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.11</version>
 </dependency>

Para recortar la cadena stringToTrim del lado izquierdo, usamos StringUtils.stringStart() y pasamos la cadena para recortar y el carácter para recortar null que se trata como un espacio en blanco. Usamos StringUtils.stripEnd() para recortar desde el lado derecho y seguir el mismo proceso.

import org.apache.commons.lang3.StringUtils;

public class TrimString {
  public static void main(String[] args) {
    String stringToTrim = "   This is just an example  ";

    String leftTrim = StringUtils.stripStart(stringToTrim, null);
    String rightTrim = StringUtils.stripEnd(stringToTrim, null);

    System.out.println("Before trimming +++" + stringToTrim + "+++");

    System.out.println("After left trimming +++" + leftTrim + "+++");

    System.out.println("After right trimming +++" + rightTrim + "+++");
  }
}

Producción :

Before trimming +++   This is just an example  +++
After left trimming +++This is just an example  +++
After right trimming +++   This is just an example+++
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artículo relacionado - Java String