Analyser une chaîne en Java

Rupam Yadav 12 octobre 2023
  1. Utilisez la méthode split pour analyser une chaîne en Java
  2. Utilisez Scanner pour analyser une chaîne en Java
  3. Utilisez StringUtils pour analyser une chaîne en Java
Analyser une chaîne en Java

Ce didacticiel explique comment analyser une chaîne en Java à l’aide de différentes méthodes. L’analyse est le processus qui consiste à prendre une chaîne et à la traiter pour en extraire des informations.

Utilisez la méthode split pour analyser une chaîne en Java

La méthode split() de la classe String fonctionne en fractionnant la chaîne source en conservant la chaîne d’origine non modifiée, et retourne un tableau de sous-chaînes de la chaîne d’origine. Cette méthode a deux variantes.

La méthode split(String regex) prend une expression régulière de type string comme argument et divise la chaîne autour des correspondances de l’expression régulière. Si l’expression régulière ne correspond à aucune partie de la chaîne d’origine, elle renvoie un tableau avec un élément: la chaîne source.

La méthode split(String regex, int limit) fonctionne de la même manière mais prend limit, ce qui signifie le nombre de chaînes à renvoyer. Si la limite est négative, le tableau renvoyé peut contenir autant de sous-chaînes que possible lorsque la limite est égale à 0. Le tableau contiendrait toutes les sous-chaînes, à l’exclusion des chaînes vides de fin.

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

Production:

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

Utilisez Scanner pour analyser une chaîne en Java

Scanner est généralement utilisé pour analyser les types primitifs et les chaînes en utilisant une expression régulière. Il divise l’entrée en jetons en utilisant un modèle de délimiteur qui correspond à un espace blanc par défaut.

Nous créons un Scanner avec un objet string spécifié. La méthode useDelimiter() de la classe Scanner permet de définir le motif du délimiteur. On peut passer un objet Pattern ou une chaîne comme motif. Pour obtenir tous les jetons de la chaîne, nous bouclons sur les jetons en utilisant la méthode hasNext() et imprimons la sortie.

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());
    }
  }
}

Production:

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

Utilisez StringUtils pour analyser une chaîne en Java

La classe Apache Commons StringUtils fournit des outils qui facilitent le travail avec les chaînes. La dépendance maven pour ajouter cette bibliothèque est donnée ci-dessous.

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

Nous utilisons la méthode substringBetween(String str, String open, String close) de la classe StringUtils pour analyser une chaîne donnée. Cette méthode extrait une sous-chaîne imbriquée entre deux chaînes.

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

Production:

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

Article connexe - Java String