Bon, pas optimisé, mais tu peux faire
Code :
- var pathes = <tachaine>.Split('/');
- var len = pathes.Length;
- // pour récupérer le début de la chaîne, il faut reconstruire à partir du tableau, avec un string.Join en remettant le séparateur, et en s'arrêtant au bon moment (ce que fait le TakeWhile)
- var res1 = string.Join("/", pathes.TakeWhile((x, i) => i != len - 2)); //../../dossier/lala/voila
- var res2 = pathes[len - 2];//dossier2
- var res3 = pathes[len - 1];//dossier3
|
Quelques contrôles pour être sûr que ta chaîne contient le nombre minimal de "/" serait naturellement nécessaires !
Parce que si une de tes chaînes contient "../dossier2", c'est pas pareil.
Message édité par deliriumtremens le 17-08-2015 à 11:10:55