210 votes

Séparation d'une chaîne de caractères Java par le symbole du tuyau en utilisant split("|")

La documentation officielle de Java indique :

La chaîne "boo:and:foo" par exemple, donne les résultats suivants avec ces expressions Résultat de la Regex :

{ "boo", "and", "foo" }"

Et c'est comme ça que j'ai besoin que ça fonctionne. Cependant, si j'exécute ceci :

public static void main(String[] args){
        String test = "A|B|C||D";

        String[] result = test.split("|");

        for(String s : result){
            System.out.println(">"+s+"<");
        }
    }

il imprime :

><
>A<
>|<
>B<
>|<
>C<
>|<
>|<
>D<

Ce qui est loin de ce que j'attendais :

>A<
>B<
>C<
><
>D<

Pourquoi cela se produit-il ?

2 votes

0voto

Ryan Augustine Points 442
test.split("\\|",999);

Spécifier un limite ou max sera précis pour des exemples comme : "boo|||a" ou "||boo|" ou " ||| ".

Mais test.split("\\|"); retourneront des tableaux de chaînes de longueur différente pour les mêmes exemples.

utiliser la référence : lien

-2voto

Stormy Points 121

La méthode split() prend une expression régulière comme argument

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X