这些是我必须禁止的角色:
\ / : ? * < > " |
到目前为止,我所拥有的是:
Regex r = new Regex("(?:[^a-z0-9 ]|(?<=['\"])s)", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Compiled);
string cleanedFileName = r.Replace(file.FileName, String.Empty);
但据我所知,不允许所有特殊字符。
答案 0 :(得分:4)
看起来你正在尝试清理文件名,如果是这样的话,试试这个:
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, "_" );
}