【问题标题】:Upload file to replace invalid to valid file name in c#上传文件以将无效文件替换为c#中的有效文件名
【发布时间】: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/…您必须使用正则表达式添加自己的所有其他字符。

标签: c# regex csv


【解决方案1】:

您可以使用[\p{Lu}\p{Ll}]+ 匹配所有大写和小写的unicode 字母。

【讨论】:

    【解决方案2】:

    请看Replacing characters in C# (ASCII)

    希望对解决您的问题有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-20
      • 1970-01-01
      • 2023-03-09
      • 2011-12-14
      相关资源
      最近更新 更多