Tengo un directorio con muchas carpetas, subcarpetas y todo con archivos en ellas. La idea de mi proyecto es recurrir a través de todo el directorio, reunir todos los nombres de los archivos y reemplazar los caracteres no válidos (no válido para una migración de SharePoint).Uso de RegEx para reemplazar caracteres no válidos
Sin embargo, estoy completamente familiarizado con las expresiones regulares. Los caracteres que necesito eliminar en los nombres de archivo son: ~, #, %, &, *, { } , \, /, :, <>, ?, -, |
y ""
Quiero reemplazar estos caracteres con un espacio en blanco. Esperaba usar un método string.replace()
para revisar todos estos nombres de archivo y hacer el reemplazo.
Hasta ahora, el único código que he obtenido es la recursión. Estaba pensando en la recursividad escaneando la unidad, obteniendo los nombres de estos archivos y poniéndolos en un List<string>
.
¿Alguien puede ayudarme a encontrar/reemplazar caracteres inválidos con RegEx con esos caracteres específicos?
¿Por qué quieres usar 'RegEx' cuando' string.Replace' haría un trabajo adecuado? – Oded
Existen algunas reglas más para las carpetas no válidas, p. Ej. un período al final. Consulte [Información sobre los caracteres que no puede usar en nombres de sitios, nombres de carpetas y nombres de archivos en SharePoint] (https://support.microsoft.com/en-us/kb/905231) – sschoof