【问题标题】:Removing unwanted characters from folder names [duplicate]从文件夹名称中删除不需要的字符[重复]
【发布时间】:2013-10-18 00:01:30
【问题描述】:

我正在使用 C# 控制台应用程序创建一堆文件夹。为不同的节点解析一个 XML 文件,并根据值创建具有相同名称的文件夹。

其中一个 XML 节点具有以下值,其中包含一些未知的特殊字符(ASCII 代码 127)

文件夹名后面有一个特殊字符。我尝试使用 String.Trim() 来修剪值,但没有运气。我还尝试将字符与列表进行比较

System.IO.Path.GetInvalidFileNameChars()

并删除它。但仍然没有运气。在创建文件夹名称之前,如何尝试消除这些字符。在我的情况下,文件夹名称将始终是字母数字。

【问题讨论】:

  • 我不这么认为。我得到的字符不是非法的。但我只是不想在名称中使用它,因为它没有任何意义。
  • 那么问题的标题有些误导
  • 尽我所能重命名它:)

标签: c#


【解决方案1】:

您可以使用正则表达式删除不需要的字符 -

string validFolderName = Regex.Replace(folderName,"[^A-Za-z0-9 _]","");

【讨论】:

    【解决方案2】:

    如果文件夹名称“始终是字母数字”,那么您可以简单地删除所有非字母数字字符:

    var regex = new Regex("[^a-zA-Z0-9]");
    fileName = regex.Replace(fileName, string.Empty);
    

    【讨论】:

      猜你喜欢
      • 2012-08-23
      • 1970-01-01
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-13
      • 1970-01-01
      • 2017-02-17
      相关资源
      最近更新 更多