您的位置:首页 > 其它

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

2017-05-03 08:20 309 查看
为文档指定的名称不是有效的文件名。文件名中不能包含以下任何字符:

星号 (*)

竖线 (|)

反斜杠 ()

冒号 (:)

双引号 (“)

小于号 (<)

大于号 (>)

问号 (?)

正斜杠 (/)

这里我们只利用.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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐