Chercher un caractère dans une string, en partant de la droite ! [Résolu]

Nixeus 181 Messages postés jeudi 18 janvier 2007Date d'inscription 6 avril 2010 Dernière intervention - 24 juil. 2008 à 10:43 - Dernière réponse : sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention
- 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'
Afficher la suite 

11 réponses

Répondre au sujet
krishou 60 Messages postés dimanche 9 janvier 2005Date d'inscription 21 août 2008 Dernière intervention - 24 juil. 2008 à 10:46
+3
Utile
Utilise LastIndexOf.

Bien à toi,

Krish!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de krishou
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 24 juil. 2008 à 11:22
+3
Utile
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]
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de sebmafate
gglamicose 94 Messages postés lundi 7 juillet 2008Date d'inscription 7 mars 2009 Dernière intervention - 24 juil. 2008 à 10:59
0
Utile
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
Commenter la réponse de gglamicose
Nixeus 181 Messages postés jeudi 18 janvier 2007Date d'inscription 6 avril 2010 Dernière intervention - 24 juil. 2008 à 10:59
0
Utile
Merci à toi :)

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

Merci :)

Nixeus'
Commenter la réponse de Nixeus
gglamicose 94 Messages postés lundi 7 juillet 2008Date d'inscription 7 mars 2009 Dernière intervention - 24 juil. 2008 à 11:04
0
Utile
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
Commenter la réponse de gglamicose
Nixeus 181 Messages postés jeudi 18 janvier 2007Date d'inscription 6 avril 2010 Dernière intervention - 24 juil. 2008 à 11:23
0
Utile
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'
Commenter la réponse de Nixeus
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 24 juil. 2008 à 11:26
0
Utile
pos=FichierAChercher.LastIndexOf(
"\");

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

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 24 juil. 2008 à 11:27
0
Utile
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]
Commenter la réponse de sebmafate
gglamicose 94 Messages postés lundi 7 juillet 2008Date d'inscription 7 mars 2009 Dernière intervention - 24 juil. 2008 à 11:29
0
Utile
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("\");
Commenter la réponse de gglamicose
Nixeus 181 Messages postés jeudi 18 janvier 2007Date d'inscription 6 avril 2010 Dernière intervention - 24 juil. 2008 à 11:52
0
Utile
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'
Commenter la réponse de Nixeus
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 24 juil. 2008 à 11:54
0
Utile
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]
Commenter la réponse de sebmafate

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.