利用.NETFramework自带的方法从路径和文件名,删除非法字符

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010533180/article/details/71106473

为文档指定的名称不是有效的文件名。文件名中不能包含以下任何字符:
星号 (*)
竖线 (|)
反斜杠 ()
冒号 (:)
双引号 (“)
小于号 (<)
大于号 (>)
问号 (?)
正斜杠 (/)

这里我们只利用.NETFramework自带的方法进行删除:
方法一:

  var invalidFileName = "\"I\"\\n/va/l**id:>> file\\/:*?\"| il*e|n|| a\"me.?\t\r";
            var invalid = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars());

            foreach (char c in invalid)
            {
                invalidFileName = invalidFileName.Replace(c.ToString(), "");
            }
            Console.WriteLine(invalidFileName);

第二种方法是使用正则表达式:

            var invalidFileName = "\"I\"\\n/va/l**id:>> file\\/:*?\"| il*e|n|| a\"me.?\t\r";
            var regexSearch = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars());
            var reg = new Regex(string.Format("[{0}]", Regex.Escape(regexSearch)));
            invalidFileName = reg.Replace(invalidFileName, "");
              Console.WriteLine(invalidFileName);
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页