Recupérer un texte entre deux "\" [Résolu]

infodes 39 Messages postés mardi 26 novembre 2013Date d'inscription 29 mars 2018 Dernière intervention - 28 oct. 2014 à 14:22 - Dernière réponse : ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention
- 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
Afficher la suite 

Votre réponse

12 réponses

jordane45 21439 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 juin 2018 Dernière intervention - 28 oct. 2014 à 14:32
0
Merci
Tu peux utiliser des regexp... mais aussi (et plus simple) un SPLIT de ta chaine...

Commenter la réponse de jordane45
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - Modifié par ucfoutu le 28/10/2014 à 14:37
0
Merci
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
Commenter la réponse de ucfoutu
infodes 39 Messages postés mardi 26 novembre 2013Date d'inscription 29 mars 2018 Dernière intervention - 28 oct. 2014 à 15:23
0
Merci
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.
jordane45 21439 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 juin 2018 Dernière intervention - 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.
Commenter la réponse de infodes
infodes 39 Messages postés mardi 26 novembre 2013Date d'inscription 29 mars 2018 Dernière intervention - 28 oct. 2014 à 16:06
0
Merci
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.
Whismeril 11629 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 juin 2018 Dernière intervention - 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)
Whismeril 11629 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 juin 2018 Dernière intervention - 28 oct. 2014 à 16:22
Au fait bonjour à Jordane et Uc!
Commenter la réponse de infodes
Le bon Samaritain - 28 oct. 2014 à 16:22
0
Merci
Voir ceci:

http://plasserre.developpez.com/cours/vb-net/?page=langage-vb2#LV-E-4-c
Commenter la réponse de Le bon Samaritain
infodes 39 Messages postés mardi 26 novembre 2013Date d'inscription 29 mars 2018 Dernière intervention - 28 oct. 2014 à 17:05
0
Merci
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
jordane45 21439 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 juin 2018 Dernière intervention - 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
Whismeril 11629 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 juin 2018 Dernière intervention - 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
Commenter la réponse de infodes
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 28 oct. 2014 à 19:43
0
Merci
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à !
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.