You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ListBox中显示无.xml扩展名的XML文件?VB代码求助

解决ListBox显示不带.xml扩展名的VB代码问题

你现在的代码直接将FileInfo对象添加到ListBox中,默认会显示包含.xml扩展名的完整文件名。要实现只显示不带扩展名的文件名,最简洁且健壮的方式是使用.NET框架提供的Path.GetFileNameWithoutExtension()方法,它专门用来提取文件名的主体部分。

修改后的完整代码

Dim Directory = Application.StartupPath + "\orders\"
Dim Files() As System.IO.FileInfo
Dim DirInfo As New System.IO.DirectoryInfo(Directory)
Dim StrClean As String

Sub ShowFiles()
    Files = DirInfo.GetFiles("*.xml", IO.SearchOption.TopDirectoryOnly)
    For Each File In Files
        ' 使用Path.GetFileNameWithoutExtension获取不带扩展名的文件名
        lstFiles.Items.Add(System.IO.Path.GetFileNameWithoutExtension(File.Name))
    Next
End Sub

关键修改说明

  • 原来的lstFiles.Items.Add(File)会直接输出FileInfo对象的默认字符串表示(即完整文件名),现在替换为System.IO.Path.GetFileNameWithoutExtension(File.Name):
    • File.Name获取当前文件的完整名称(比如order123.xml)
    • Path.GetFileNameWithoutExtension()会自动剥离最后的扩展名,返回order123

可选优化(导入命名空间)

如果你在代码顶部添加了Imports System.IO,就可以简化代码,不用写全限定名:

Imports System.IO

' ... 其他代码不变
lstFiles.Items.Add(Path.GetFileNameWithoutExtension(File.Name))

这种方法比手动截取字符串(比如Left(File.Name, Len(File.Name)-4))更可靠,因为它能自动处理不同长度的扩展名,也不会在文件名本身包含.的情况下出错。

内容的提问来源于stack exchange,提问作者Handryck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:28:02