Parse uma string em Java

Rupam Yadav 12 outubro 2023
  1. Use o método split para analisar uma string em Java
  2. Use Scanner para analisar uma string em Java
  3. Use StringUtils para analisar uma string em Java
Parse uma string em Java

Este tutorial explica como analisar uma string em Java usando vários métodos. A análise é o processo de pegar uma string e processá-la para extrair informações.

Use o método split para analisar uma string em Java

O método split() da classe String funciona dividindo a string de origem mantendo a string original inalterada e retorna um array de substrings da string original. Este método possui duas variantes.

O método split(String regex) pega uma expressão regular do tipo string como argumento e divide a string em torno das correspondências da expressão regular. Se a expressão regular não corresponder a nenhuma parte da string original, ela retornará um array com um elemento: a string de origem.

O método split(String regex, int limit) funciona da mesma forma, mas leva limit, o que significa quantas strings devem ser retornadas. Se o limite for negativo, a matriz retornada pode conter tantas substrings quanto possível quando o limite é 0. A matriz conteria todas as substrings, excluindo as strings vazias finais.

public class StringTest {
  public static void main(String args[]) {
    String source1 = "March032021";
    String[] returnedArray1 = source1.split("\\d+");
    for (String str1 : returnedArray1) {
      System.out.println(" Output1 : " + str1);
    }
    String source2 = "950-003-123-900-456 : 11 _343-1 789----";
    String[] returnedArray2 = source2.split("-", 4);
    for (String str2 : returnedArray2) {
      System.out.println(" Output2 : " + str2);
    }
  }
}

Resultado:

Output1 : March Output2 : 705 Output2 : 103 Output2 : 102 Output2 : 456 - 123 : 112 _343
          - 1 789 -- --

Use Scanner para analisar uma string em Java

Scanner geralmente é usado para analisar tipos primitivos e strings usando uma expressão regular. Ele divide a entrada em tokens usando um padrão de delimitador que é o espaço em branco correspondente ao padrão.

Criamos um scanner com um objeto string especificado. O método useDelimiter() da classe Scanner é usado para definir o padrão do delimitador. Podemos passar um objeto Pattern ou string como um padrão. Para obter todos os tokens da string, percorremos os tokens usando o método hasNext() e imprimimos a saída.

import java.util.Scanner;
public class StringTest {
  public static void main(String args[]) {
    String text = "John Evans was born on 25-08-1980";
    Scanner scanner = new Scanner(text);
    scanner.useDelimiter("born");
    while (scanner.hasNext()) {
      System.out.println("Output is : " + scanner.next());
    }
  }
}

Resultado:

Output is : John Evans was 
Output is :  on 25-08-1980

Use StringUtils para analisar uma string em Java

A classe StringUtils do Apache Commons fornece ferramentas que facilitam o trabalho com Strings. A dependência do maven para adicionar essa biblioteca é fornecida a seguir.

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.11</version>
</dependency>

Usamos o método substringBetween(String str, String open, String close) da classe StringUtils para analisar uma determinada string. Este método extrai uma substring aninhada entre duas strings.

import org.apache.commons.lang3.StringUtils;

public class StringTest {
  public static void main(String args[]) {
    String source = "The crazy brown dog jumps over the fence";
    String[] stringArray = StringUtils.substringsBetween(source, "crazy", "over");
    for (String s : stringArray) {
      System.out.println("Output : " + s);
    }
  }
}

Resultado:

Output :  brown dog jumps 
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