Hello,
Je rencontre un sous avec la classe StringTokenizer.
Je souhaiterai découper ma chaine de caractère avec la classe StringTokenizer en utilisant comme délimiteur <br>.
Pour information je suis sous le jdk 1.3 (sans possibilité de changer de version)
Le problème est que le traitement effectué par cette classe ne tient pas compte des caractères <>, c'est à dire qu'il troncone la chaine de caractère de la ma manière suivante :
Code utilisé :
résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package com.fabszn; import java.util.Iterator; import java.util.StringTokenizer; public class EssaiToken { /** * @param args */ public static void main(String[] args) { String c = "fabrice@toto<br>beatrice@titi.fr<br>michel<br>louis@tutu.fr"; StringTokenizer t = new StringTokenizer(c,"<br>"); for ( ; t.hasMoreElements();) { String element = (String)t.nextElement(); System.out.println("element = " + element); } } }
On peut s'apercevoir que le StringTokenizer découpe la chaine selon les br et non selon <br>.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 element = fa element = ice@toto element = eat element = ice@titi.f element = michel element = louis@tutu.f
Je ne sais pas trop comment faire pour palier simplement à ce problème.
Je pourrais faire parser la chaine et la tronconer manuellement.. mais j'avoue que j'aimerai ne pas alourdir le code avec ce genre de traitement.
Est ce qu'il existe un caractère d'échappement permettant d'indiquer au StringTokenizer qu'il doit tenir compte des <>?
J'aimerai, si possible, ne pas utiliser de lib externe!
Merci d'avance pour votre aide!
Partager