C# Excel:使用模式匹配查找单元格

C# Excel: Find cells using pattern matching

有没有办法将 Range.Find() 方法与仅限数字的通配符或正则表达式一起使用?

我正在尝试查找具有“2015 M05”、“2016 M08”、“2017 M01”等值的单元格,以解析电子表格中的日期。

到目前为止,我能想到的最好的方法是使用通配符“?”形成搜索字符串“???? M??”

object missingVal = System.Reflection.Missing.Value;
Excel.Range match = allCells.Find("???? M??", missingVal, Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart,
    Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, false, missingVal, missingVal);

但是,一旦我在某个地方有一个双词标签的第二个词以 "M" 开头,那将 运行 出问题。

编辑:我认为最简单的事情是如果我有某种可以在 Range.Find() 中使用的纯数字通配符。但是“#”似乎不起作用,所以我想知道是否有一些解决方法?

您可以在模式中使用*。像 *?M?? 假设 M## 模式是唯一的。