Recupérer un texte entre deux "\"

Résolu
infodes Messages postés 50 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 21 décembre 2023 - 28 oct. 2014 à 14:22
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 28 oct. 2014 à 19:43
Bonjour,

je dois récupérer le texte entre deux "\" d'un nom de répertoire.

Ex: documents\test\essaie\aujourd'hui\heure\

Ce que je voudrais récupérer, c'est le mot "essaie".

En supposant que: "documents\ est toujours identique dans le path.
Les noms des répertoire comme "essaie" ne sont jamais de la même longueur puisque les mots changent toujours. C'est pourquoi je veux aller chercher ce qui se trouve entre les deux "\".

j'utilise "substring" pour éliminer tout le texte qui viens avant \test...

merci de votre aide

7 réponses

jordane45 Messages postés 38135 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 avril 2024 344
28 oct. 2014 à 14:32
Tu peux utiliser des regexp... mais aussi (et plus simple) un SPLIT de ta chaine...

0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 28/10/2014 à 14:37
Bonjour,
la fonction Split (à lire dans MSDN) te permet d'obtenir un array des mots séparés par un "\" (ou un séparateur de ton choix).
Reste à savoir si le nom que tu cherches a toujours le même rang (auquel cas : facile) ou un rand variable (auquel cas : impossible, sauf si les deux derniers mots sont toujours les deux mêmes ou si le mot cherché n'est pas toujours l'avant-avant-dernier).

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0
infodes Messages postés 50 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 21 décembre 2023
28 oct. 2014 à 15:23
bonjour, effectivement, je crois que ça ne fonctionne pas. Dans ce que j'ai lu, on doit donner les mots qui sont recherchés, ce qui dans mon cas est impossible car ils ne sont jamais les mêmes. En vba, c'est assez facile à faire, j'ai de la misère à comprendre comment sa fonctionne en VB.net mais chose certaine, je ne peux pas dire quel est le texte qui devra être modifier. Sans vouloir vous vexez, un exemple avec ce que j'ai écris parlerais beaucoup plus que de simple mots... En vba, je peux supprimer chacun des mots devant chaque "\" ou après et en arriver à mon mot. Tout ce que je trouve sur le net est très théorique et s'applique difficilement à moins de bien connaître le vb.net.
0
jordane45 Messages postés 38135 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 avril 2024 344
28 oct. 2014 à 15:30
Le SPLIT ne nécéssite pas spécialement de connaissances.... c'est quasiment la même utilisation qu'en VBA...

Donc.. tu SPLIT ta chaine.
Puis tu récupères l'éléments n° 3 ( soit l'indice 2 ) dans l'Array généré par le split.
0
infodes Messages postés 50 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 21 décembre 2023
28 oct. 2014 à 16:06
si c'est si facile pourquoi tu ne mets le bout de code qui me permettrais de comprendre... quand je regarde dans l'aide de microsoft, je ne vois pas comment récupérer ce qu'il y a entre deux "\" mais plutôt de séparer ou d'isoler les mots c'est tout, c'est tout ce qu'ils expliquent.
0
Whismeril Messages postés 19019 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 13 avril 2024 655
28 oct. 2014 à 16:19
Bonjour, si on te fait le travail tu n'appendras pas. Donc on te donne les pistes et on te laisse chercher.

Soit je n'ai pas compris ce que tu veux, et UC et Jordane non plus, soit tu n'as pas lu leur réponses.

Si tu veux récupérer Essai se qui se trouve etre le 3eme élement (peu importe la longueurs de ces éléments) de ta chaine alors splite ta chaine comme on te le propose et récuère le troisième élément du tableau (attention le premier indice est 0, donc le troisième est 2)
0
Whismeril Messages postés 19019 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 13 avril 2024 655
28 oct. 2014 à 16:22
Au fait bonjour à Jordane et Uc!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le bon Samaritain
28 oct. 2014 à 16:22
Voir ceci:

http://plasserre.developpez.com/cours/vb-net/?page=langage-vb2#LV-E-4-c
0
infodes Messages postés 50 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 21 décembre 2023
28 oct. 2014 à 17:05
est-ce que quelqu'un peut me répondre à ma question ou je perds mon temps ici... La fonction split ne fonctionne pas en vb. Lorsque je l'écris selon msdn dans mon code, elle souligné et il la voit comme une variable. j'ai aussi essayé ltrim et rtrim qui ne fonctionne pas plus... Moi j'ai un boss qui attend de moi que je fasse un programme pas que je perde mon temps....

j'ai écris en autres: mavariable2 = split(mavariable1) quelqu'un peut me dire pourquoi ça ne fonctionne pas et comment je fais pour lui dire que je veux ce qu'il y a entre les "\"?

si vous ne voulez pas me donner la réponse, abstenez-vous de commentaire.

merci
0
jordane45 Messages postés 38135 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 avril 2024 344
28 oct. 2014 à 17:11
si vous ne voulez pas me donner la réponse, abstenez-vous de commentaire.

Des réponses on t'en donne.....
Si tu n'es pas capable de comprendre ce qu'on te dit ce n'est pas notre faute..; !
Split en VB.net fonctionne très bien...

Voici un lien pour comprendre comment l'utiliser.
http://www.dotnetperls.com/split-vbnet
http://plasserre.developpez.com/cours/vb-net/?page=langage-vb3


Donc..

j'ai écris en autres: mavariable2 = split(mavariable1) quelqu'un peut me dire pourquoi ça ne fonctionne pas et comment je fais pour lui dire que je veux ce qu'il y a entre les "\"?

Après voir lu les exemples des liens ci-dessus.. tu devrais comprendre par toi même non ??


Et au cas où...une autre réponse qu'on t'a donné... les REGEXP...
Et Un lien t'a déjà été donné :http://plasserre.developpez.com/cours/vb-net/?page=langage-vb2#LV-E-4-c
0
Whismeril Messages postés 19019 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 13 avril 2024 655
28 oct. 2014 à 19:30
Si tu réponds sur ce ton, on finira par ne plus tenter de t'aider, voir supprimer tes messages.
Il est demandé de bien décrire son problème, de poster le code qui génère une erreur en utilisant la coloration syntaxique et de retranscrire le message d'erreur.

De plus il est très fortement conseillé de tenir compte des reponses qui te sont données. Je t'ai dit, dans 2 autres questions que VB.net est un langage qui se programme avec des objects et pas avec des mots clés ou instructions (à part les plus basic qui soient). Et si tu tapes split .net dans ton moteur de recherche, la page msdn proposée ne t'affiche pas
mavariable2 = split(mavariable1)
.
http://msdn.microsoft.com/fr-fr/library/system.string.split(v=vs.110).aspx

On y voit, assez clairement
-qu'il s'agit d'une méthode de l'objet string:
-qu'elle supporte plusieurs surcharges, c'est à dire qu'elle peut avoir plusieurs signatures différentes, donc qu'on peut y rentrer différents paramètres.

La première surchage, celle de base, demande un tableau de caractères qui définit les séparateurs possibles, même s'il n'y en a qu'un.

Donc, et c'est mon dernier geste vers toi, pour utiliser un langage objet, il faut d'abord apprendre ce que c'est, à quoi ça sert et comment on s'en sert. Savoir perdre le temps d'en gagner comme dirait un des mes collègues.

Je te conseille donc la lecture du cours de m plassere, mais depuis le début
http://plasserre.developpez.com/cours/vb-net/?page=introduction
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 oct. 2014 à 19:43
Bonjour à tous,
J'ajouterais PERSONNELLEMENT à l'attention de infodes, qui a écrit :
Moi j'ai un boss qui attend de moi que je fasse un programme pas que je perde mon temps....

que son "boss" est en effet en droit d'attendre de l'un de ses développeurs qu'il soit au moins en mesure de comprendre, analyser, et qu'il ne se contente pas d'attendre que d'autres écrivent entièrement (tout, donc) à sa place.
Si tel n'était pas le cas, le "boss" pourrait se contenter d'aller lui-même réclamer du code tout cuit sur différents sites, ... non ?
Je SAIS que le gouvernement d'Ottawa, excédé, a déjà fini par bloquer un site anglophone de renom ... Ses employés ne peuvent maintenant plus y accéder.
Il avait SES raisons, hein ...
Voilà voilà !
0
Rejoignez-nous