Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3068 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?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
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-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR