2009-09-04 9 views
5

Je chaîne comme ceci:Retirez un peu d'une chaîne avant un mot

G:\Projects\TestApp\TestWeb\Files\Upload\file.jpg 

Comment puis-je supprimer tout le texte avant « Fichiers » (G: \ Projects \ TestApp \ testweb)? La chaîne avant les fichiers peut être modifiée. Je ne peux donc pas compter les caractères et les supprimer après 20 caractères.

Merci pour votre aide :)

+0

Voulez-vous dire que le chemin précédant \ files varie? – Mayo

Répondre

19

essayer cette

string s = oldString.Substring(oldString.IndexOf("Files")); 

Merci pour le commentaire de Meta-Knight,

si une autre « Fichiers » peut être en début de la chaîne alors mieux serait être ..

string s = oldString.Substring(oldString.LastIndexOf("Files")); 
+0

Merci, ça l'a fait :) –

+0

Ceci est certainement valable, mais je voudrais ajouter que vous voulez trouver une partie unique de la chaîne que vous souhaitez conserver (g: \ uploadfiles \ john \ Files \ Upload \ échouerait) . Vous pouvez également considérer .jpg ou \ Files \ Upload \. En outre, suggérez .tolower() pour ne pas être affecté par les différences de casse. – Mayo

+1

Je voudrais utiliser LastIndexOf à la place. Cela réduirait le risque d'erreurs. –

Questions connexes