2009-09-04 7 views
5

tengo cadena como esta:Retirar un poco de una cadena antes de una palabra

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

¿Cómo puedo quitar todo el texto antes de "archivos" (G: \ Proyectos \ TestApp \ testweb)? La cadena antes de los archivos puede cambiar, por lo que no puedo contar los caracteres y eliminarlos después de 20 caracteres.

Gracias por su ayuda :)

+0

¿Quiere decir que la ruta de acceso a \ files varía? – Mayo

Respuesta

19

probar este

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

Gracias por el comentario de Meta-Knight,

si otro "Archivos" puede ser, en parte, a principios de la cadena a continuación, mejor haría ser ..

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

Gracias, eso fue :) –

+0

Esto es ciertamente válido, pero me gustaría agregar que desea encontrar una parte única de la cadena que desea mantener (g: \ uploadfiles \ john \ Files \ Upload \ fallaría) . También podría considerar .jpg o \ Files \ Upload \. Además, sugiera .tolower() para que no se vea afectado por las diferencias de casos. – Mayo

+1

Usaría LastIndexOf en su lugar. Minimizaría el riesgo de errores. –

Cuestiones relacionadas