Java >> Tutoriel Java >  >> Tag >> String

Convertir une chaîne délimitée par un tuyau en liste Java

Convertir une chaîne délimitée par tuyau en liste Java | Les caractères qui divisent la chaîne en jetons sont appelés délimiteurs. Ces délimiteurs peuvent être une virgule, une barre verticale, un espace, deux-points, un ou plusieurs points-virgules, etc.

Dans cette section, nous allons écrire un programme Java pour convertir la chaîne délimitée en une liste. Le délimiteur que nous avons utilisé comme pipe (|). Les chaînes délimitées par des barres verticales sont les chaînes séparées par une barre verticale.

Habituellement, nous séparons les mots à l'aide d'espaces ou de virgules, mais dans certaines situations, ils sont séparés par le caractère pipe (|). Voir les exemples ci-dessous de chaînes délimitées par des barres verticales :-
1) "Pays | Capitale | Population”
2) ”a | b | c”
3) ”1| 2 | 3 | 4 | 5"

L'exemple ci-dessus est juste pour montrer le tube comme délimiteur mais notre problème est de convertir la chaîne délimitée par un tube ci-dessus en une liste. Pour ce faire, nous devons effectuer deux étapes :-
1) Supprimer le délimiteur de tube
2) Convertir le tableau obtenu en liste

Programme pour convertir une chaîne délimitée par tuyau en liste Java

Développons un programme pour convertir une chaîne délimitée par des tubes en liste Java. Nous allons initialiser une chaîne contenant des délimiteurs de pipe.

import java.util.Arrays;
import java.util.List;

public class Main {
   public static void main(String[] args) {
      String string = "Java|Python|JavaScript|C++|PHP";

      List<String> list = Arrays.asList(string.split("\\|"));
      System.out.println("List :" + list);
      System.out.println("Size of the list: " + list.size());
   }
}

Sortie :-

Liste :[Java, Python, JavaScript, C++, PHP]
Taille de la liste :5

Dans la méthode ci-dessus, nous avons appelé la méthode split () pour diviser en fonction du délimiteur de tuyau. Si nous voulons diviser en fonction du caractère pipe, nous devons utiliser la séquence d'échappement "\\|". Si nous essayons d'utiliser "|" dans la méthode split, il divisera chaque caractère. L'exemple ci-dessous le démontre :-

String string = "Java|Python|JavaScript|C++|PHP";
String[] strArray = string.split("|");
System.out.println("String array: " + Arrays.toString(strArray));
System.out.println("String array size: " + strArray.length);

Sortie :-

Tableau de chaînes :[J, a, v, a, |, P, y, t, h, o, n, |, J, a, v, a, S, c, r, i, p, t, |, C, +, +, |, P, H, P]
Taille du tableau de chaînes :30

String string = "Java|Python|JavaScript|C++|PHP";
String[] strArray = string.split("\\|");
System.out.println("String array: " + Arrays.toString(strArray));
System.out.println("String array size: " + strArray.length);

Sortie :-

Tableau de chaînes :[Java, Python, JavaScript, C++, PHP]
Taille du tableau de chaînes : 5

Dans le programme de conversion d'une chaîne délimitée par un tube en liste Java, après la division en fonction du caractère du tube, nous avons utilisé la méthode Arrays.asList () pour convertir un tableau en liste. Mais vous pouvez aussi le faire d'une autre manière comme ci-dessous.

import java.util.ArrayList;
import java.util.List;

public class Main {
   public static void main(String[] args) {
      String string = "Java|Python|JavaScript|C++|PHP";
      String[] strArray = string.split("\\|");

      List<String> list = new ArrayList<>();
      for (String str : strArray) {
         list.add(str);
      }
      System.out.println("List: " + list);
   }
}

Sortie :-

Liste :[Java, Python, JavaScript, C++, PHP]

Si la chaîne contient des nombres, en l'ajoutant à la liste, nous pouvons les convertir en valeur de type int, puis l'ajouter à la liste.

import java.util.ArrayList;
import java.util.List;

public class Main {
   public static void main(String[] args) {
      String string = "10|20|99|55|9";
      String[] strArray = string.split("\\|");
      List<Integer> list = new ArrayList<>();

      for (String str : strArray) {
         list.add(Integer.valueOf(str));
      }
      System.out.println("List: " + list);
   }
}

Sortie :-

Liste :[10, 20, 99, 55, 9]


Balise Java