/ / Премахване на нежелани знаци от имената на папките [дублиране] - c #

Премахване на нежелани символи от имена на папките [duplicate] - c #

Аз създавам множество папки, използвайки C # конзолно приложение. XML файл се анализира за различни възли и въз основа на стойностите, папките се създават със същото име.

Един от възела XML имаше следната стойност с някакъв неизвестен специален символ в него (ASCII код 127)

Папката с специален символ

След името на папката има специален символ. Опитах се да използвам String.Trim (), за да отрежа стойността, но нямах късмет. Аз също се опитах да сравня героя със списъка на

System.IO.Path.GetInvalidFileNameChars()

и го премахнете. Но все още няма късмет. Как да се опитам да премахна тези знаци, преди да създам име на папка. Името на папката винаги ще бъде алфа цифрен в моя случай.

Отговори:

2 за отговор № 1

Ако името на папката "винаги е алфа цифров", можете просто да премахнете всички не-буквено-цифрови знаци:

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

2 за отговор № 2

Можете да премахнете нежеланите знаци, като използвате нормални изрази -

string validFolderName = Regex.Replace(folderName,"[^A-Za-z0-9 _]","");