Estoy creando un montón de carpetas utilizando una aplicación de consola C #. Se analiza un archivo XML para diferentes nodos y, en función de los valores, las carpetas se crean con el mismo nombre.
Uno de los nodos XML tenía el siguiente valor con algún carácter especial desconocido (código ASCII 127)
Hay un carácter especial después de Foldername. Intenté usar String.Trim () para recortar el valor pero no tuve suerte. También traté de comparar el personaje con la lista de
System.IO.Path.GetInvalidFileNameChars()
y quitarlo. Pero todavía no hay suerte. ¿Cómo puedo intentar eliminar estos caracteres antes de crear un nombre de carpeta? El nombre de la carpeta siempre será alfanumérico en mi caso.
Respuestas
2 para la respuesta № 1Si el nombre de la carpeta "siempre será alfanumérico", simplemente puede eliminar todos los caracteres no alfanuméricos:
var regex = new Regex("[^a-zA-Z0-9]");
fileName = regex.Replace(fileName, string.Empty);
2 para la respuesta № 2
Podría eliminar los caracteres no deseados utilizando expresiones regulares -
string validFolderName = Regex.Replace(folderName,"[^A-Za-z0-9 _]","");