3 c# expression
为什么这不会做任何事情,输出与输入相同?我很困惑!
string name = ";;;'']][[ zion \\\[[[]]]"
char[] invalidChars = System.IO.Path.GetInvalidPathChars();
string invalidString = Regex.Escape(new string(invalidChars));
string valid = Regex.Replace(name, "[" + invalidString + "]", "");
Run Code Online (Sandbox Code Playgroud)
编辑:
我认为这可能只是一个不完美的测试数据(以及其他人建议的功能变化).试试这个:
string name = "tru\\e.jpg";
char[] invalidChars = System.IO.Path.GetInvalidFileNameChars();
string invalidString = Regex.Escape(new string(invalidChars));
string valid = Regex.Replace(name, "[" + invalidString + "]", "");
Console.WriteLine(valid);
Run Code Online (Sandbox Code Playgroud)
我得到"true.jpg"输出.在生产中使用它之前,我肯定会建议更多的测试!:)