这些是我必须禁止的字符:
\ / : ? * < > " |
这是我目前所拥有的:
Regex r = new Regex("(?:[^a-z0-9 ]|(?<=['\"])s)", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Compiled);
string cleanedFileName = r.Replace(file.FileName, String.Empty);
但据我了解,不允许所有特殊字符。
请您参考如下方法:
看起来您正在尝试清理文件名,如果是这样,请尝试以下操作:
private static string MakeValidFileName( string name )
{
string invalidChars = System.Text.RegularExpressions.Regex.Escape( new string( System.IO.Path.GetInvalidFileNameChars() ) );
string invalidRegStr = string.Format( @"([{0}]*\.+$)|([{0}]+)", invalidChars );
return System.Text.RegularExpressions.Regex.Replace( name, invalidRegStr, "_" );
}
