Java.util.StringTokenizer

Fermé
Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 - 17 juin 2004 à 13:37
JSS Messages postés 3745 Date d'inscription jeudi 22 avril 2004 Statut Contributeur Dernière intervention 17 décembre 2004 - 17 juin 2004 à 14:37
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 Date d'inscription jeudi 22 avril 2004 Statut Contributeur Dernière intervention 17 décembre 2004 32
17 juin 2004 à 14:11
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 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
17 juin 2004 à 14:17
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 Date d'inscription jeudi 22 avril 2004 Statut Contributeur Dernière intervention 17 décembre 2004 32
17 juin 2004 à 14:18
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 Date d'inscription jeudi 22 avril 2004 Statut Contributeur Dernière intervention 17 décembre 2004 32
17 juin 2004 à 14:19
voila une proposition sans les tokenizer ...

je pense que ca marche :-)

++

JSS
0
Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
17 juin 2004 à 14:32
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 Date d'inscription jeudi 22 avril 2004 Statut Contributeur Dernière intervention 17 décembre 2004 32
17 juin 2004 à 14:37
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