请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 183|回复: 0

vb.net 读取txt文本,遍历删除每一行=及之前的字符串,并删除输出后的重复项

[复制链接]

483

主题

47

回帖

7273

积分

管理员

积分
7273
发表于 2024-10-29 15:02:20 | 显示全部楼层 |阅读模式
    Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
        ' 创建一个 OpenFileDialog 实例
        Dim openFileDialog As New OpenFileDialog()
        ' 设置过滤器,以便只显示 .txt 文件
        openFileDialog.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*"
        openFileDialog.Title = "选择一个文本文件"

        ' 显示对话框并检查用户是否选择了文件
        If openFileDialog.ShowDialog() = DialogResult.OK Then
            ' 获取选中的文件路径
            Dim filePath As String = openFileDialog.FileName

            ' 读取文件的所有行
            Dim lines() As String = System.IO.File.ReadAllLines(filePath)

            Dim result As New HashSet(Of String)() ' 使用 HashSet 来存储唯一值

            ' 遍历每一行
            For Each line As String In lines
                Dim parts() As String = line.Split("="c)
                If parts.Length > 1 Then
                    ' 添加等号后面的部分到结果集合
                    result.Add(parts(1).Trim())
                End If
            Next

            ' 将结果合并为一个字符串,使用换行符分隔
            Dim output As String = String.Join(Environment.NewLine, result)

            ' 检查 output 是否为空
            If String.IsNullOrWhiteSpace(output) Then
                MessageBox.Show("没有可复制的内容!")
                Return ' 退出方法
            End If

            ' 输出到剪贴板
            My.Computer.Clipboard.SetText(output)

            ' 显示提示信息
            MessageBox.Show("内容已复制到剪贴板!")

        Else
            Label11.Text = "提示:路径不存在、为空或者非txt格式。"
            Exit Sub
        End If
    End Sub


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|爱淘机论坛 ( 鲁ICP备2022040313号-4 )

GMT+8, 2024-12-15 04:17 , Processed in 0.026246 second(s), 23 queries .

Powered by 爱淘机论坛

© 2001-2023

快速回复 返回顶部 返回列表