尝试这样的事情;
string illegal = ""M"\a/ry/ h**ad:>> a\/:*?"| li*tt|le|| la"mb.?";string invalid = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars());foreach (char c in invalid){ illegal = illegal.Replace(c.ToString(), ""); }
但是我必须同意这些意见,我可能会尝试处理非法路径的来源,而不是试图将非法路径变为合法但可能是意想不到的路径。
编辑:或者使用Regex的潜在“更好”的解决方案。
string illegal = ""M"\a/ry/ h**ad:>> a\/:*?"| li*tt|le|| la"mb.?";string regexSearch = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars());Regex r = new Regex(string.Format("[{0}]", Regex.Escape(regexSearch)));illegal = r.Replace(illegal, "");
仍然有个问题要问,为什么首先要这样做。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)