【发布时间】:2015-11-16 13:23:59
【问题描述】:
我在 c# 中使用 static function 上传文件以使用 RegEx 替换无效文件名:
static string removeBadChar(string filename)
{
// Replace invalid characters with "_" char.
return Regex.Replace(filename, @"[^\w\.-]", "_");
}
并且File Name.csv 被替换为File_Name.csv
但我还有另一个问题,如果 CSV 的文件名需要这些键盘字母:é, è, à, ù, ì, ò Web 应用程序故障。
我该如何解决这个问题?
【问题讨论】:
-
为什么空格是坏字符?您能否详细说明此要求的来源?你怎么知道无效字符的完整列表?
-
你的正则表达式也应该匹配你的特殊字符
-
:、*、?、\`,/,|,",> 这样的典型 DOS 无效字符呢?此外,AFAIK WebDAV 不允许&。 -
您可以使用它来获取文件名非法字符msdn.microsoft.com/en-us/library/…您必须使用正则表达式添加自己的所有其他字符。