2010-01-08 3 views
1

Dans mon code, je sera présenté avec des chaînes d'URL vers des pages ... Tout ce que je veux faire est d'extraire le nom de la page, rien d'autre ... (Exemple)extraire des données de chaîne - du côté droit?

string page1 = "./default.aspx"; 
string page2 = "./subfolder/gallery.aspx"; 
string page3 = "./subfolder/anotherSubfolder/demo.aspx"; 

Je l'ai utilisé la sous-chaîne fonctionnalité avant, mais je me bats avec celui-ci puisque je veux seulement les noms de pages qui sont sur le côté droit, je veux essentiellement couper de tout le reste (chemins de dossier) .. tout ce que je veux finir est default.aspx , gallery.aspx et demo.aspx

Merci à l'avance

Dal

Répondre

2

Essayez d'utiliser SubString avec LastIndexOf:

string test = @"./subfolder/default.aspx"; 
test = test.Substring(test.LastIndexOf(@"/") + 1) 
+0

Merci, cela fonctionne parfaitement! – Dal

1

Soit utiliser une classe pour que (Uri pourrait aider?) Ou de regarder

yourString.Substring(yourString.LastIndexOf("/")+1) 

Vous souhaitez ajouter la gestion des erreurs dans le cas où la chaîne EndsWith une barre oblique, bien que.

+0

merci pour votre aide. – Dal

1
yourUrl.Split(new char[] {'/'}, StringSplitOptions.RemoveEmptyEntries).Last(); 

Merci

+0

Merci pour votre aide. – Dal

0

Vous pouvez utiliser la classe FileInfo.

Voir la propriété de Nanme.

FileInfo fi = new FileInfo(page3); 
DoSomething (fi.Name); 
Questions connexes