Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1759 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Résolu][StringTokenizer - Urgent] Comment ça marche ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu][StringTokenizer - Urgent] Comment ça marche ?

n°1652670
Giz
Posté le 04-12-2007 à 14:40:33  profilanswer
 

Bonjour,
 
Je suis en plein debug d'un prog tout simple. J'ai cru comprendre comment marchait StringTokenizer mais là je comprends pas.
Voici mon exemple :
 

Code :
  1. String delim = "</TD><TD>";
  2.  if (row.lastIndexOf(delim) != -1) {
  3.   StringTokenizer st = new StringTokenizer(row, delim);
  4.   while (st.hasMoreElements()) {
  5.    column = (String) st.nextElement();
  6.    column = column.replaceAll(NEWLINE_TAG, System
  7.      .getProperty("line.separator" ));
  8.    column = deleteTags(column);
  9.    columns.add(column);
  10.   }
  11.  }


 
Alors si row = "HTML", et que je vire le if, plusieurs tokens sont générés, pourquoi ?
Si je laisse le if, et que row =

<TR><TD>a:atm112</TD><TD>&lt;etm security=&quot;no&quot; language=&quot;GB&quot; ido=&quot;142&quot; class=&quot;a:atm112&quot; std=&quot;20&quot;&gt;&lt;para&gt;Install piston rings&lt;varref vrefid=&quot;a:atm:1121&quot; idpos=&quot;1&quot;&gt;(7 - 8 - 9)&lt;/varref&gt;.&lt;/para&gt;&lt;/etm&gt;</TD><TD>&lt;etm security=&quot;no&quot; language=&quot;PR&quot; ido=&quot;142&quot; class=&quot;a:atm112&quot; std=&quot;20&quot;&gt;&lt;para&gt;Colocar os segmentos&lt;varref vrefid=&quot;a:atm:1121&quot; idpos=&quot;1&quot;&gt;(7 - 8 - 9)&lt;/varref&gt;.&lt;/para&gt;&lt;/etm&gt;</TD></TR>


 
Le 1er token vaut 'R' pourquoi ?
J'ai vraiment rien compris à StringTokenizer sur ce programme-ci  :??:  :??:  :??:  :??:  
 
Merci de votre aide.


Message édité par Giz le 05-12-2007 à 09:38:39

---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3
mood
Publicité
Posté le 04-12-2007 à 14:40:33  profilanswer
 

n°1652672
Giz
Posté le 04-12-2007 à 14:42:58  profilanswer
 

Voici la String decoupée :
 
real : R
real : a:atm112
real : <etm security="no" language="GB" ido="142" class="a:atm112" std="20"><para>Install piston rings<varref vrefid="a:atm:1121" idpos="1">(7 - 8 - 9)<
real : varref>.<
real : para><
real : etm>
real : <etm security="no" language="PR" ido="142" class="a:atm112" std="20"><para>Colocar os segmentos<varref vrefid="a:atm:1121" idpos="1">(7 - 8 - 9)<
real : varref>.<
real : para><
real : etm>
real : R
 
 
 [:figti]  [:figti]  [:figti]  [:figti]  [:figti]


Message édité par Giz le 04-12-2007 à 14:43:17

---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3
n°1652676
Giz
Posté le 04-12-2007 à 14:51:41  profilanswer
 

je nage, je nage, je nage...
 
EDIT : ça doit être un problème de "caractère escape" ça non dans ma chaîne row ?
 
EDIT2 : kk1 voudrait tester le programme ci-dessus avec la chaîne illustrée ?  [:amandine75011]


Message édité par Giz le 04-12-2007 à 14:58:17

---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3
n°1652686
masklinn
í dag viðrar vel til loftárása
Posté le 04-12-2007 à 15:11:35  profilanswer
 

Le 2e argument de StringTokenizer n'est pas un séparateur mais un ensemble de caractères séparateurs, un truc du style.
 
Pourquoi tu n'utilises pas tout simplement String#split?


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1652862
koude
Posté le 04-12-2007 à 19:05:08  profilanswer
 

Ouep, donc dans <TR> tous les caractères sont dans ta chaine delim sauf le R... voilà pourquoi le premier token est R

n°1653086
Giz
Posté le 05-12-2007 à 09:31:47  profilanswer
 

Wow !! merci les gars, effectivement ce serait split qu'il me faut.
Mais je doit générer une fonction récursive alors ? (ça ne divise qu'en 2 la chaîne) :/.
N'y a-t-il pas un moyen simple pour tokenizer une String...récupérer un simple tableau de String avec delim comme séparateur.
 
Merci de votre aide. :)


Message édité par Giz le 05-12-2007 à 09:32:18

---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3
n°1653089
Giz
Posté le 05-12-2007 à 09:38:18  profilanswer
 

Oups boulette .... split renvoie bien un tableau de String !!
Merci les gars ! :hello:


---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Résolu][StringTokenizer - Urgent] Comment ça marche ?

 

Sujets relatifs
[Résolu] Chat: bdd ou fichier?[Résolu] Je voudrais dupliquer des tables dans ma base MySQL
[Résolu] Probleme boucle coloration[RESOLU] Pb avec librairie GD sur PHP 4.4.2
[Resolu] Probleme liste dynamique[Résolu][Html/CSS]"a:active" ne marche qu'à l'instant du clic..
[Résolu] Pear - spreadsheet_excel_writer - formule inconnueconversion de long[] en byte[] c urgent svp-PDU - SMS - Reception sms
Code formulaire non-interprété [Résolu] & mémorisation valeurs 
Plus de sujets relatifs à : [Résolu][StringTokenizer - Urgent] Comment ça marche ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)