Java.util.StringTokenizer

Canard007 Messages postés 5936 Statut Contributeur -  
JSS Messages postés 3745 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

JSS Messages postés 3745 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
Canard007 Messages postés 5936 Statut Contributeur 215
 
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
JSS Messages postés 3745 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
JSS Messages postés 3745 Statut Contributeur 32
 
voila une proposition sans les tokenizer ...

je pense que ca marche :-)

++

JSS
0
Canard007 Messages postés 5936 Statut Contributeur 215
 
merci
je testerai ce soir..si j ai le temps..
mais effectivement si ca marche ca va plus vite...;-)
0
JSS Messages postés 3745 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