Apare uma string em Java

Rupam Yadav 12 outubro 2023
  1. Apare uma string usando o método trim() em Java
  2. Apare uma string da esquerda e da direita separadamente usando Character.isWhiteSpace e while
  3. Corte uma string da esquerda e da direita separadamente usando o Apache Commons
Apare uma string em Java

Neste artigo, veremos como cortar uma string com espaços em branco nos pontos inicial ou final.

Apare uma string usando o método trim() em Java

A maneira recomendada de aparar é usar o método trim() se quisermos aparar espaços à esquerda e à direita de uma string de ambos os lados. trim() remove os espaços e retorna uma string sem os espaços à direita.

Abaixo, pegamos uma string stringToTrim que tem uma string com espaços nos pontos inicial e final. Para verificar se os espaços foram eliminados, imprimimos a string antes e depois de ser aparada. Os sinais de mais (+) mostram onde estão os espaços em branco na string.

Quando chamamos stringToTrim.trim(), notamos que os espaços foram removidos.

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 + "+++");
  }
}

Produção:

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

Apare uma string da esquerda e da direita separadamente usando Character.isWhiteSpace e while

Podemos cortar uma corda de apenas um único lado, seja do lado esquerdo ou direito. Aqui vemos dois exemplos: um que apara do lado esquerdo e outro que remove apenas espaços do lado direito.

No código a seguir, pegamos uma String stringToTrim com espaços em ambas as extremidades. Pegamos uma variável int i e a inicializamos com 0. Em seguida, executamos um loop while que é executado até que a variável i seja menor que o comprimento de stringToTrim e também verificamos se há caracteres de espaço em branco usando Character.isWhitespace()e dentro do método, passamos cada caractere um por um usando o valor i. Ambas as condições devem ser atendidas e, se forem verdadeiras, o valor de i aumenta em um.

Agora chamamos substring() para cortar os caracteres de espaço em branco. substring() começa do lado esquerdo da string, então ele apara o lado esquerdo da string e retorna a string sem espaços à esquerda.

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 + "+++");
  }
}

Produção:

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

Neste exemplo, pegamos a mesma string, mas em vez de inicializar i com 0, inicializamos com stringToTrim().length - 1 e, em seguida, em while, verificamos se i é maior que ou igual a 0. O método para verificar os espaços em branco é o mesmo. Agora, quando as condições se encontram, diminuímos a variável i em um.

Como a substring() começa do lado esquerdo da string, passamos o ponto inicial como 0, e o segundo argumento é o valor que começa da direita i+1 que elimina todos os espaços em branco da extremidade direita.

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 + "+++");
  }
}

Produção:

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

Corte uma string da esquerda e da direita separadamente usando o Apache Commons

Para este exemplo, usamos uma biblioteca de terceiros chamada Apache Commons. Para incluir a biblioteca em nosso projeto, usamos a seguinte dependência.

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

Para cortar a string stringToTrim do lado esquerdo, usamos StringUtils.stringStart() e passamos a string para cortar e o caractere para cortar null que é tratado como espaço em branco. Usamos StringUtils.stripEnd() para cortar do lado direito e seguir o mesmo processo.

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 + "+++");
  }
}

Produção:

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

Artigo relacionado - Java String