Skip to main content
 首页 » 编程设计

c#之禁止对 Dropbox 使用正则表达式的特定字符

2024年02月06日28cloudgamer

这些是我必须禁止的字符:

\ / : ? * < > " | 

这是我目前所拥有的:

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, "_" ); 
}