Suppression de lettre dans un String -[Java]-

Résolu
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 :)
Configuration: Windows Vista
Firefox 3.5.7

7 réponses

  1. salut
    tu n'as qu'a faire String.lastIndexOk('\\') qui te retourner le dernier index de ton \. Ensuite du peux faire String.substring(0, lastIndex). Si tu veux l'avant, dernier, alors fait String.lastIndexOk('\\', size-2)
    1. Bonsoir progjv
      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 !
      1. chez moi ca marche tres bien :

        public class Test {
        public static void main(String[] args) {
        String s = "d:\\steam\\steamapps\\account\\counter-strike source\\hl2.exe";
        s = s.substring(0, s.lastIndexOf('\\'));
        System.out.println(s);
        }
        }

        me donne "d:\steam\steamapps\account\counter-strike source"

        je comprends ptet pas ce que tu veux alors =)
        1. Yeah,
          Oh et bien vu comme ceci en effet cela marche héhé =D
          Merci bien progjv,
          et bonne jourée ;)
          SoGeek.