Java.util.StringTokenizer

Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur -  
JSS Messages postés 3743 Date d'inscription   Statut Contributeur -
hello all,

Bon j ai une String style
"127.0.0.1 notepad.exe HKEY_LOCAL_MACHINE\\Software\\TestReg\\Txt3"

je voudrai recuperer dans 2 string differenetes
"HKEY_LOCAL_MACHINE\\Software\\TestReg"
et
"Txt3"

le format sera toujours le meme...

je c que java.util.StringTokenizer me permet de placer des delimiteur en faisant un truc du genre...

StringTokenizer(ma chaine,"les delimiteur", un booleel que je sais pas a quoi il sert)..
bon voila en fait j ai un peu la flemme de chercher alors quelqu'un pourrai pas me filer un bour de code avec un exemple de l utilisation de cette classe merci beaucoup... (la flemme car j ai plein d autre prob a reglé...)
Merci beaucoup les gars ( est les filles bien entendu ;-) )

4 réponses

  1. JSS Messages postés 3743 Date d'inscription   Statut Contributeur 32
     
    Bonjour ou Bonsoir,

    SI tu veux recuperer a chaque fois a partir du HKEY ....
    --> tu prends la sous-string qui commence a partir de HKEY

    Apres tu split en fonction de tes \\
    puis tu prends la derniere partie.

    JSS.je.regarde.vite.fais.et.je.te.donne.les.bonnes.methodes.++
    0
  2. Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur 216
     
    oui ca j avais bien compris ;-)
    c etait surtout comment utiliser comment manipuler stringtokeniser...
    bon finalement j ai u moinsla flemem queje ne pensai..donc j ai fait ca.. et a priori ca fait ce que je vaux...
    StringTokenizer st = new StringTokenizer(commande);
    			//dans keyname nous aurons le nom de lma clé  à lire
    			keyname = null;
    			while (st.hasMoreTokens()) 
    			{
    				keyname = st.nextToken("\\");
    			}
    			//recuperation du chemin
    			StringTokenizer st1 = new StringTokenizer(commande);
    			String keypathtemp=null;
    			while (st1.hasMoreTokens()) 
    			{
    				keypathtemp = st1.nextToken(" ");
    			}
    			StringTokenizer st2 = new StringTokenizer(keypathtemp);
    			String elementpath = null;
    			keypath = "";
    			int nbelem=0;
    			while (st2.hasMoreTokens()) 
    			{
    				elementpath = st2.nextToken("\\");
    				if(!elementpath.equals(keyname))
    				{
    					if(nbelem!=0)keypath=keypath+"\\";
    					keypath = keypath + elementpath;
    				}
    				nbelem++;
    			}
    


    doit sans doute y avoir plus rapide et plus simple mais bon voila j suis pressé..si quelqu'un veut s amuser a optimiser bien..have fun j suis toujours preneur ^^
    0
  3. JSS Messages postés 3743 Date d'inscription   Statut Contributeur 32
     
    String maVariable;

    //variables pour le splitage
    String [] decoup1;
    String [] decoup2;

    // variables resultats
    String hkey;
    String endHkey;

    //variables temp
    String temp;

    decoup1 = maVariable.split(" ");
    temp = decoup1[decoup1.length()];
    decoup2 = temp.split("\\");
    hkey = decoup2[0];
    endHkey = decoup2[decoup2.length()];

    voila.

    a l'indice pres de la variable je pense que ca doit marcher.

    ++

    JSS
    0
    1. JSS Messages postés 3743 Date d'inscription   Statut Contributeur 32
       
      voila une proposition sans les tokenizer ...

      je pense que ca marche :-)

      ++

      JSS
      0
  4. Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur 216
     
    merci
    je testerai ce soir..si j ai le temps..
    mais effectivement si ca marche ca va plus vite...;-)
    0
    1. JSS Messages postés 3743 Date d'inscription   Statut Contributeur 32
       
      par contre ca marche pas si tu as un espace dans ton path, style HKEY\\Mes Doc\\...


      d'ailleurs je sais pas si le tient fonctionne dans ces cas là (a pas trop regarder)

      JSS.:-(
      0