0

我目前正在创建一个OpenFileDialog,我在其中创建了一些用于导入一些文件的过滤器。

目前我的过滤器是:

var ofd = new OpenFileDialog();
ofd.Filter = "Supported files|*.dat;*.xlsx;*.csv;*.txt

用户还应该能够导入任何带有数字扩展名的文件,例如:

.1337、.42、.007

我知道可以创建如下所示的过滤器来匹配 [00000, 99999]

var sb = new StringBuilder("Numeric Files |");
for (int i = 0; i < 99999; i++)
{
  sb.Append("*." + (i + ";").PadLeft(5, '0'));
}
ofd.Filter = sb.ToString();

但这会导致每种可能性的模式匹配非常缓慢,我觉得应该有其他方式。

我也考虑过接受对话框中的所有文件,然后过滤掉扩展名,但我想知道是否还有其他方法。

现在的问题是:

有没有办法使用正则表达式等来匹配上述内容?

希望你能帮忙:)

4

1 回答 1

1

也许更好地制作自己的实现并从 FileDialog 派生(OpenFileDialog 是密封的),可以将正则表达式添加为过滤器

于 2013-11-13T11:18:42.590 回答