Suppression de lettre dans un String -[Java]-

Résolu
Signaler
Messages postés
29
Date d'inscription
mercredi 1 octobre 2008
Statut
Membre
Dernière intervention
15 janvier 2012
-
Messages postés
29
Date d'inscription
mercredi 1 octobre 2008
Statut
Membre
Dernière intervention
15 janvier 2012
-
Bonjour,
Je vous présente mon problème : dans mon code source je trouve la donnée d'une clef registre :
Ensuite je fais System.out.println(path); et j'ai :
C:\Program Files\Steam\SteamApps\common\left4dead2\
seulement voilà, j'aime seulement avoir C:\Program Files\Steam\SteamApps\common\ et donc enlever "left4dead2"
Mais je ne sais pas comment m'y prendre j'ai bien sur essayer:
String path1 = path ;
String path11 = path.substring(0, 50);
Mais cela ne marchera pas car tout le monde n'a pas Steam installé dans C:\Program Files\Steam
et donc pas la meme longueur (en lettre) du chemin d'accés
J'aimerai donc supprimer les 11 dernieres lettres de ma clef registre (path)
Merci d'avance,
SoGeek :)

2 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
Salut,

Tu devrais pluôt supprimer les caractères entre le dernier "" et l'avant dernier "", en découpant ta chaîne (avec substring justement). Ca doit donner un truc du genre (fait de tête, à corriger certainement) :
int index = path1.lastIndexOf(""); // dernier "" trouvé
int index = path1.lastIndexOf("", index); // avant dernier "" trouvé
String path11 = path1.substring(0, index + 1); // +1 pour conserver le dernier "" de la nouvelle chaîne


______________________________________
DarK Sidious
Messages postés
29
Date d'inscription
mercredi 1 octobre 2008
Statut
Membre
Dernière intervention
15 janvier 2012
4
Bonsoir DarkSidious,
j'ai ajouté ton code source :


int index = path1.lastIndexOf(""); // dernier "" trouvé

int index = path1.lastIndexOf("", index); // avant dernier "" trouvé

String path11 = path1.substring(0, index + 1);


au mien mais cela ne marche pas, en fait ce que je demande précisément (et je te remercie d'avoir prété attention à ce sujet) le nom de la clef est celui ci :

d:\steam\steamapps\account\counter-strike source\hl2.exe

j'aimerai précisement couper ma chaine pour avoir ceci :

d:\steam\steamapps\account\counter-strike source\

j'ai ajusté ton code source en changeant

- int index = path1.lastIndexOf("");

par

- int index path1.lastIndexOf("exe"); ou - int index path1.lastIndexOf("e");
...
System.out.println(path11);


mais au démarrage du programme il ne m'affiche rien :( alors que System.out.println(path) (le String de la clef)

j'obtiens : d:\steam\steamapps\account\counter-strike source\hl2.exe

As-tu une idée :( ?
Bonne soirée à toi/vous !