Enlever une partie de la totalité du nom du répertoire?

J'ai une liste de nom de fichier avec le chemin complet dont j'ai besoin pour retirer le nom de fichier et une partie du chemin du fichier, compte tenu d'une liste de filtres que j'ai.

Path.GetDirectoryName(file)

Fait une partie du travail, mais je me demandais si il ya un moyen simple de filtrer les chemins à l'aide .Net 2.0 pour supprimer une partie d'elle.

Par exemple:

si j'ai le path + filename égal àC:\my documents\my folder\my other folder\filename.exe et à tous j'ai besoin est ce qui est au-dessus de my folder\ signifie que j'ai besoin d'extraire uniquement my other folder.

Mise à JOUR:

La liste de filtres est une zone de texte avec les noms de dossiers séparés par un , je viens donc de noms partiels sur elle comme l'exemple ci-dessus, le filtre serait my folder

Solution actuelle basée sur Rob code:

string relativeFolder = null;
string file = @"C:\foo\bar\magic\bar.txt";
string folder = Path.GetDirectoryName(file);
string[] paths = folder.Split(Path.DirectorySeparatorChar);
string[] filterArray = iFilter.Text.Split(',');

foreach (string filter in filterArray)
{
    int startAfter = Array.IndexOf(paths, filter) + 1;
    if (startAfter > 0)
    {
        relativeFolder = string.Join(Path.DirectorySeparatorChar.ToString(), paths, startAfter, paths.Length - startAfter);
        break;
    }
}
Le filtre que vous mentionnez est un fichier tableau de répertoires ou quelque chose?
C'est une zone de texte rempli avec des noms de dossiers séparés par , oublié de mentionner que merci pour le commentaire.

OriginalL'auteur Prix | 2011-03-12