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

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

这里我们只利用.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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值