Comment diviser une chaîne de caractères pour la mettre en tableau en Java

Hassan Saeed 12 octobre 2023
  1. Utilisez la méthode split(delimiter) pour diviser une chaîne de caractères en un tableau en Java
  2. Utilisez split(regex, limit) pour diviser une chaîne en un tableau en Java et garder les chaînes vides de fin de tableau
Comment diviser une chaîne de caractères pour la mettre en tableau en Java

Ce tutoriel traite des méthodes permettant de diviser une chaîne de caractères en un tableau en Java.

Supposons que nous ayons une chaîne séparée par des virgules John, 23, $4500. Nous devons diviser les données en fonction de la virgule et les stocker dans un tableau comme celui-ci : ["John", "23", "$4500"]. C’est là que la méthode split() s’avère utile.

Utilisez la méthode split(delimiter) pour diviser une chaîne de caractères en un tableau en Java

Nous devons passer le délimiteur pour diviser la chaîne en fonction de celui-ci. La méthode split() casserait la chaîne à chaque occurrence du délimiteur et stockerait chaque valeur dans le tableau. L’exemple ci-dessous illustre cela.

public class MyClass {
  public static void main(String args[]) {
    String data = "1,2,3,,5,6,,";
    String[] split = data.split(",");
    for (int i = 0; i < split.length; i++) System.out.println(split[i]);

    System.out.println("Done");
  }
}

Production:

1
2
3

5
6

Bien que nous ayons deux chaînes vides à la fin, le tableau résultant ne contient pas les deux dernières chaînes vides. C’est parce que le comportement par défaut de split() supprime toutes les chaînes vides de fin du tableau résultant.

Utilisez split(regex, limit) pour diviser une chaîne en un tableau en Java et garder les chaînes vides de fin de tableau

Nous pouvons contourner ce comportement en passant un paramètre supplémentaire à la fonction split(): split(regex, limit). Passer une limit négative garantirait que le modèle de regex est appliqué autant de fois que possible, incluant ainsi toutes les chaînes vides de la division.

L’exemple ci-dessous illustre ce principe:

public class MyClass {
  public static void main(String args[]) {
    String data = "1,2,3,,5,6,,";
    String[] split = data.split(",", -1);
    for (int i = 0; i < split.length; i++) System.out.println(split[i]);

    System.out.println("Done");
  }
}

Production:

1
2
3

5
6


Done

Nous pouvons voir qu’il a maintenant imprimé les deux dernières chaînes vides de fin.

Article connexe - Java String