VB.NET读取TXT文件:跳过含!行及空行 求实现示例
VB.NET读取TXT文件并过滤注释行/空行的解决方案
嘿,作为VB.NET新手遇到这个需求完全不用慌,我给你整理了清晰的思路和示例代码,照着来就行!
核心思路
咱们要做的就是三步:
- 读取TXT文件的每一行
- 过滤掉两种行:以
!开头的注释行、空行(包括全是空格的空白行) - 保留剩下的有效行,你可以选择输出、存储或者做后续处理
示例代码
下面给你两种实现方式,根据你的文件大小选就行:
方式1:一次性读取所有行(适合小文件)
这种方式代码简洁,适合文件不大的情况:
Imports System.IO Imports System.Linq Module Program Sub Main() ' 替换成你的TXT文件实际路径 Dim filePath As String = "C:\YourFolder\your_file.txt" ' 读取所有行并过滤有效内容 Dim validLines = File.ReadAllLines(filePath).Where(Function(line) ' 先去除前后空格,排除空行;再排除!开头的注释行 Dim trimmedLine = line.Trim() Return Not String.IsNullOrEmpty(trimmedLine) AndAlso Not trimmedLine.StartsWith("!") End Function) ' 输出有效行(可替换为存入集合或其他业务逻辑) For Each line In validLines Console.WriteLine(line) Next End Sub End Module
方式2:逐行读取(适合大文件,节省内存)
如果你的TXT文件特别大,一次性读取会占用过多内存,就用逐行读取的方式:
Imports System.IO Module Program Sub Main() Dim filePath As String = "C:\YourFolder\your_file.txt" ' 逐行读取并过滤 Using reader As New StreamReader(filePath) Dim line As String While (line = reader.ReadLine()) IsNot Nothing Dim trimmedLine = line.Trim() ' 过滤条件和上面一致 If Not String.IsNullOrEmpty(trimmedLine) AndAlso Not trimmedLine.StartsWith("!") Then Console.WriteLine(line) ' 这里替换成你的处理逻辑 End If End While End Using End Sub End Module
代码关键点说明
Trim():处理那些全是空格的“空白行”,避免误判为有效行StartsWith("!"):精准识别注释行- 方式1中的
Where()是LINQ语法,需要确保项目引用了System.Linq(一般VB.NET项目默认已包含)
测试你的示例文件
用你提供的TXT内容测试代码,运行后会输出两行有效数据:
M3 3;6H;60
G1/8 1/8;--;55
完全符合你的需求~
内容的提问来源于stack exchange,提问作者Bek
相关产品推荐
相关产品推荐

