Java : fonction split avec le caractère '|' (pipe)

Résolu
Bonjour,

Je cherche à découper une string (message) dans laquelle je sais être présent un caractère '|' à l'aide de split. Cependant, message.split("|") découpe ma String caractère par caractère ! (Par exemple, "4242|Achamian" -> { ,4,2,4,2,|,A,c,h,a,m,i,a,n})

J'ai essayé de passer par la représentation ASCII de '|' et en utilisant l'expression régulière \\p{Ponct}| mais j'obtiens encore le même résultat.

En attendant une solution de votre part utilisant split, je vais découper manuellement mon message, au cas où il n'y aurait pas de solution plus esthétique.

Merci d'avance !

Akka.

2 réponses

  1. Modérateur
    C'est parce que split prend en paramètre une expression régulière et que | est un caractère spécial pour indique l'union, il faut donc l'échapper avec un \

    String[] tab = "4242|Achamian".split("\\|");
    4
    1. Ah merci pour cette réponse rapide, ça marche parfaitement ! J'avais essayé de spliter avec \|, ce qui ne fonctionnait pas évidemment...

      Bonne soirée.
      0