2013-10-10 2 views
0

Я создаю пакет папок с помощью консольного приложения C#. XML-файл анализируется для разных узлов и основывается на значениях, которые папки создаются с тем же именем.Удаление нежелательных символов из имен папок

Один из узла XML имел следующее значение с каким-то неизвестным специальный символ в нем (ASCII код 127)

Foldername with special character

Существует специальный символ после FOLDERNAME. Я попытался использовать String.Trim(), чтобы обрезать значение, но не повезло. Я также попытался сравнить характер с перечнем

System.IO.Path.GetInvalidFileNameChars() 

и удалите его. Но до сих пор не повезло. Как я могу попытаться устранить эти символы, прежде чем создавать имя папки. Имя папки всегда будет буквенно-цифровым в моем случае.

+0

Я так не думаю. Персонаж, который я получаю, не является незаконным. Но я просто не хочу этого в имени, потому что это не имеет никакого смысла. – NLV

+0

Название вопроса несколько вводит в заблуждение, то –

+0

Пробовал, чтобы переименовать его :) – NLV

ответ

2

Если имя папки будет «всегда быть буквенно-цифровой», то вы можете просто удалить все не алфавитно-цифровые символы:

var regex = new Regex("[^a-zA-Z0-9]"); 
fileName = regex.Replace(fileName, string.Empty); 
2

Вы можете удалить ненужные символы с помощью регулярных выражений -

string validFolderName = Regex.Replace(folderName,"[^A-Za-z0-9 _]",""); 
Смежные вопросы