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

Résolu/Fermé
Stevendeo Messages postés 6 Date d'inscription dimanche 26 mai 2013 Statut Membre Dernière intervention 13 novembre 2013 - 13 nov. 2013 à 19:24
Stevendeo Messages postés 6 Date d'inscription dimanche 26 mai 2013 Statut Membre Dernière intervention 13 novembre 2013 - 13 nov. 2013 à 20:25
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.
A voir également:

2 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
13 nov. 2013 à 19:40
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
Stevendeo Messages postés 6 Date d'inscription dimanche 26 mai 2013 Statut Membre Dernière intervention 13 novembre 2013
13 nov. 2013 à 20:25
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