Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C#] supprimer tout ce qui est avant un mot

Sujet résolu
    18 juin 2019 à 11:10:24

    Bonjour,

    ceci est le texte d'origine : Ordinateur\HKEY_CURRENT_USER\Printers\Connections\,,serveur,nom

    mon but est de supprimer : "Ordinateur\HKEY_CURRENT_USER\Printers\Connections\" et de garder :",,serveur,nom"

    je sais que pour supprimer des caractères on peut utiliser ça : 

    string txt = "avèç dës ch@r    -pourris_123";
    string pattern = @"[^0-9a-zA-Z]";
    Regex rex = new Regex(pattern);
    string result = rex.Replace(txt, "");
    MessageBox.Show("avant : " + txt + "\r\naprès : " + result);
    //avant : avèç dës ch@r    -pourris_123
    //après : avdschrpourris123

    mais dans mon cas je n'ai pas trop d'idée pour résoudre mon problème

    merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      18 juin 2019 à 11:20:37

      Salut,

      Tu as l'air de manipuler des clés de registres. A ta place je regarderai du côté de la classe .NET correspondante voir si tu peux y trouver ce que tu veux.

      (https://docs.microsoft.com/fr-fr/dotnet/api/microsoft.win32.registrykey?view=netframework-4.8).

      Sinon, si tu veux absolument t'occuper de ca comme un string, moi j'aurai splité ta chaîne par le slash (txt.Split("\")). Le dernier élément du tableau renvoyer par le split sera ton ",,serveur,nom".

      • Partager sur Facebook
      • Partager sur Twitter
        18 juin 2019 à 13:04:56

        Je vois pas trop ce que tu essayes de faire mais si tu cherches toujours à enlever la même String, t'embêtes pas.

                    String str = @"Ordinateur\HKEY_CURRENT_USER\Printers\Connections\,,serveur,nom";
        
                    str = str.Remove(0, 50);

        Sinon,

                    String str = @"Ordinateur\HKEY_CURRENT_USER\Printers\Connections\,,serveur,nom";
        
                    int finder = str.LastIndexOf(@"\");
        
                    str = str.Remove(0, ++finder);




        -
        Edité par LilyKianii 18 juin 2019 à 13:06:33

        • Partager sur Facebook
        • Partager sur Twitter
          18 juin 2019 à 15:38:17

          oui c'est exact je manipule la clef de registre.

          Dans mon programme je récupère le nom de différentes clef qui se situe :"Ordinateur\HKEY_CURRENT_USER\Printers\Connections\

          et je ne peux pas récupérer que ",,serveur,nom"  c'est pourquoi je me suis dis de supprimer tout ce qui est derrière.

          • Partager sur Facebook
          • Partager sur Twitter
            19 juin 2019 à 11:25:26

            darkassin a écrit:

            oui c'est exact je manipule la clef de registre.

            Dans mon programme je récupère le nom de différentes clef qui se situe :"Ordinateur\HKEY_CURRENT_USER\Printers\Connections\

            et je ne peux pas récupérer que ",,serveur,nom"  c'est pourquoi je me suis dis de supprimer tout ce qui est derrière.

            Sinon, tu as GetSubKeyNames

                        using (RegistryKey rootKey = Registry.CurrentUser.OpenSubKey(@"Control Panel\Desktop", false))
                        {
                            String[] subKeys = rootKey.GetSubKeyNames(); //Check it out
            
                            foreach (String k in subKeys)
                            {
                                using (RegistryKey childSubKey = rootKey.OpenSubKey(k, false))
                                {
                                    foreach (string valuename in childSubKey.GetValueNames())
                                    {
                                        Console.WriteLine(String.Format("{0}\\{1}", k, valuename));
                                    }
                                }
                                Console.WriteLine("\n");
                            }
                        }




            • Partager sur Facebook
            • Partager sur Twitter

            [C#] supprimer tout ce qui est avant un mot

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown