Chercher un caractère dans une string, en partant de la droite !

Résolu
Nixeus Messages postés 192 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 19 octobre 2020 - 24 juil. 2008 à 10:43
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 24 juil. 2008 à 11:54
Bonjour à tous

Je possède une variable STRING contenant un chemin d'accès avec un nom de fichier.
Je souhaiterai récupérer juste le nom de ce fichier ! Je voulais donc y aller à la bourrin ( car opeux etre que c# permet de faire ca en plus propre ?)

Bref je voudrais chercher dans cette String, le cractère ( ' \ ' ) EN PARTANT de la droite, puis ensuite couper ma chaine en partant de ce  (' \ ') jusqu'a la fin de la chaine !

J'ai donc vu que IndexOf servait à chercher un caractère ou une sous chaine de caractère dans une String !
Je voudrais faire une recherche, mais en partant de la droite ! Quelles solutions s'offrent à moi ?

Merci à vous !

Bonne journée

Cordialement
Nixeus'

11 réponses

krishou Messages postés 60 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 21 août 2008 1
24 juil. 2008 à 10:46
Utilise LastIndexOf.

Bien à toi,

Krish!
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 38
24 juil. 2008 à 11:22
Sinon, le plus simple pour récupérer le nom du fichier est d'utiliser la méthode

Path.GetFileName( string )

ou Path.GetFileNameWithoutExtension( string )

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
3
gglamicose Messages postés 94 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 7 mars 2009 1
24 juil. 2008 à 10:59
Salut Nixeus!

J'ai été confronté récemment au même problème que toi. Personnellement, j'ai opté pour l'utilisation de 'String.Split' (Qui permet de définir un séparateur, en l'occurrence '\' et de ranger la chaine ainsi "coupée" dans un tableau de String). L'avantage est que le nom de ton fichier est tout simplement contenu dans le dernier index de ton tableau, et que tu as le chemin entier découpé nickel dans ce même tableau !

Voila, ce "rangement" était idéal pour moi, j'espère qu'il te sera utile aussi
0
Nixeus Messages postés 192 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 19 octobre 2020
24 juil. 2008 à 10:59
Merci à toi :)

Par contre, pour rechercher un anti-slash ( '\') il y a une syntaxe particulière pour l'antislash en c# non ?

Merci :)

Nixeus'
0

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

Posez votre question
gglamicose Messages postés 94 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 7 mars 2009 1
24 juil. 2008 à 11:04
Concrètement, "" est un inhibiteur (il faut donc forcément un caractère après). Pour l'utiliser sans qu'il annule le caractère ' " ' qui le suit, utilise maChaine.Split('\\');

Bonne chance
0
Nixeus Messages postés 192 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 19 octobre 2020
24 juil. 2008 à 11:23
Je ne comprend pas :s

Je voudrais faire ca :

int pos=0;
pos=FichierAChercher.LastIndexOf(
"");

Afin que pos contienne la position du 1er Antislash en partant de la fin !

Si c# n'aime pas cela, je peux pas passer par le code ascii ou hexa de l'antislash ?

Merci :)

Nixeus'
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 38
24 juil. 2008 à 11:26
pos=FichierAChercher.LastIndexOf(
"\");

ou pos=FichierAChercher.LastIndexOf(@"");

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 38
24 juil. 2008 à 11:27
il serait quand meme bon d'ouvrir un livre de temps en temps avant de poser des questions qui concernent les bases du langages.
Merci !

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
0
gglamicose Messages postés 94 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 7 mars 2009 1
24 juil. 2008 à 11:29
Sebmafate je ne connaissais pas cette méthode, je me la note pour plus tard merci

Quand a toi Nixeus, je te l'ai dit plus haut: il faut doubler l'anti-slash

> posFichierAChercher.LastIndexOf("\");
0
Nixeus Messages postés 192 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 19 octobre 2020
24 juil. 2008 à 11:52
Merci à vous :)

Pour les bouquins, je ne peux pas lire chaque bouquin sur chaque langage que j'apprend !
Je suis développeur, mais bon, la c# je m'y met pianissimo :)

Merci pour ton aide en tous cas :)

Nixeus'
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 38
24 juil. 2008 à 11:54
Dans ce cas, essaye au moins d'apprendre les bases de chaque langage !


Et la formulation correcte d'une string : c'est la base !

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
0