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

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

Votre réponse

11 réponses

Meilleure réponse
krishou
Messages postés
60
Date d'inscription
dimanche 9 janvier 2005
Dernière intervention
21 août 2008
- 24 juil. 2008 à 10:46
3
Merci
Utilise LastIndexOf.

Bien à toi,

Krish!

Merci krishou 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de krishou
Meilleure réponse
sebmafate
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 24 juil. 2008 à 11:22
3
Merci
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]

Merci sebmafate 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de sebmafate
gglamicose
Messages postés
94
Date d'inscription
lundi 7 juillet 2008
Dernière intervention
7 mars 2009
- 24 juil. 2008 à 10:59
0
Merci
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
Messages postés
183
Date d'inscription
jeudi 18 janvier 2007
Dernière intervention
5 juin 2018
- 24 juil. 2008 à 10:59
0
Merci
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
Messages postés
94
Date d'inscription
lundi 7 juillet 2008
Dernière intervention
7 mars 2009
- 24 juil. 2008 à 11:04
0
Merci
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
Messages postés
183
Date d'inscription
jeudi 18 janvier 2007
Dernière intervention
5 juin 2018
- 24 juil. 2008 à 11:23
0
Merci
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
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 24 juil. 2008 à 11:26
0
Merci
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
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 24 juil. 2008 à 11:27
0
Merci
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
Messages postés
94
Date d'inscription
lundi 7 juillet 2008
Dernière intervention
7 mars 2009
- 24 juil. 2008 à 11:29
0
Merci
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
Messages postés
183
Date d'inscription
jeudi 18 janvier 2007
Dernière intervention
5 juin 2018
- 24 juil. 2008 à 11:52
0
Merci
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
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 24 juil. 2008 à 11:54
0
Merci
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.