VB中如何在同一搜索模式下匹配开头为ABC且结尾为123的目录?
用
Directory.GetDirectories匹配开头“ABC”且结尾“123”的文件夹 没问题,这个需求完全可以通过调整搜索模式直接实现,不用额外写过滤逻辑。
你只需要把原来的搜索模式从"ABC*"改成"ABC*123"就行,代码示例如下:
Dim dirs As String() = Directory.GetDirectories(folderBrowserDialog1.SelectedPath, "ABC*123")
为什么这个模式能生效?
.NET里的Directory.GetDirectories采用的是DOS风格的通配符规则:
*表示任意长度(包括0个)的任意字符序列,所以ABC*123会精准匹配所有以ABC开头、以123结尾的文件夹——不管中间夹了什么字符,甚至中间没有字符(比如直接叫ABC123的文件夹)也能被命中。
额外注意事项
- 匹配默认是大小写不敏感的(Windows文件系统的默认行为),所以
ABCxyz123、abcXYZ123这类名称都会被匹配到; - 如果你的需求更复杂(比如需要正则级别的匹配规则),那可以先获取目标路径下的所有文件夹,再用LINQ结合正则表达式过滤,但对于这种简单的开头+结尾匹配,直接用通配符模式是最高效的方案。
内容的提问来源于stack exchange,提问作者André Portugal
相关产品推荐
相关产品推荐

