0

C# コンソール アプリケーションを使用して多数のフォルダーを作成しています。XML ファイルはさまざまなノードに対して解析され、その値に基づいてフォルダーが同じ名前で作成されます。

XML ノードの 1 つに、未知の特殊文字 (ASCII コード 127) を含む次の値が含まれていました。

特殊文字を含むフォルダ名

Foldername の後に特殊文字があります。String.Trim() を使用して値をトリミングしようとしましたが、うまくいきませんでした。の一覧でキャラも比較してみた

System.IO.Path.GetInvalidFileNameChars()

そしてそれを取り除きます。しかし、まだ運がありません。フォルダ名を作成する前に、これらの文字を削除するにはどうすればよいですか? 私の場合、フォルダ名は常に英数字になります。

4

2 に答える 2

2

フォルダ名が「常に英数字」になる場合は、英数字以外のすべての文字を単純に削除できます。

var regex = new Regex("[^a-zA-Z0-9]");
fileName = regex.Replace(fileName, string.Empty);
于 2013-10-10T09:40:45.967 に答える
2

正規表現を使用して不要な文字を削除できます-

string validFolderName = Regex.Replace(folderName,"[^A-Za-z0-9 _]","");
于 2013-10-10T09:41:29.503 に答える