Suppression de lettre dans un String -[Java]-

Résolu
sarahjtm Messages postés 29 Date d'inscription mercredi 1 octobre 2008 Statut Membre Dernière intervention 15 janvier 2012 - 8 févr. 2010 à 17:52
sarahjtm Messages postés 29 Date d'inscription mercredi 1 octobre 2008 Statut Membre Dernière intervention 15 janvier 2012 - 8 févr. 2010 à 18:28
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

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
8 févr. 2010 à 18:00
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
3
sarahjtm Messages postés 29 Date d'inscription mercredi 1 octobre 2008 Statut Membre Dernière intervention 15 janvier 2012 4
8 févr. 2010 à 18:28
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 !
3
Rejoignez-nous