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. Yeah,
    Oh et bien vu comme ceci en effet cela marche héhé =D
    Merci bien progjv,
    et bonne jourée ;)
    SoGeek.
    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. 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. 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)