注册 登录
编程论坛 VB6论坛

vb怎么提取文本文件每行字符串中指定字符

chr78228 发布于 2018-07-15 23:36, 5210 次点击
求教:我有一个文本文件,每行的字符串如下,每行的格式如下不固定,请教怎么用vb提取其中的指定字符?
'6335413778402 , 6335413778402, 12,
' 3W5413778-4a , 1 ,
.........
想分别提取每行数据: 6B35413778-402和12       3W5413778-4a和1
第一行字符串重复,提取第一个字符串 和 后面的数字
第二行没有重复,提取一个字符串 和后面的数字
......
第N行也是一样.

先说声谢谢了!
12 回复
#2
ZHRXJR2018-07-16 15:20
用一个判断和读取文本文件就可以解决。
程序代码:
Dim W1 As String, W2 As String, W3 As String
Open App.Path & "/AAA.txt" For Input As #1
Do While Not EOF(1)
Input #1, W1, W2, W3
If W1 = W2 And W3 <> "" Then
Text1.Text = Text1.Text & W1 & Space(5) & W3 & vbCrLf
ElseIf W1 <> W2 And W3 = "" Then
Text1.Text = Text1.Text & W1 & Space(5) & W2 & vbCrLf
End If
Loop
Close #1

只有本站会员才能查看附件,请 登录
#3
风吹过b2018-07-16 15:50
循环
读每一行
  使用 split 以逗号为分隔符分解成字符串数组,下标从0开始
  比较 0 号和 1号,相同
    取0号 和2号
  否则
    取0号和1号

继续循环
#4
chr782282018-07-16 21:17
回复 楼主 chr78228
谢谢热心帮助,可是我复制代码怎么没效果
#5
chr782282018-07-16 21:17
回复 2楼 ZHRXJR
谢谢热心帮助 怎么我复制代码执行后怎么没效果
#6
chr782282018-07-16 21:20
回复 2楼 ZHRXJR
Private Sub Command1_Click()
    Dim W1 As String, W2 As String, W3 As String
    Open App.Path & "\AAA.txt" For Input As #1
    Do While Not EOF(1)
        Input #1, W1, W2, W3
        If W1 = W2 And W3 <> "" Then
            Text1.Text = Text1.Text & W1 & Space(5) & W3 & vbCrLf
        ElseIf W1 <> W2 And W3 = "" Then
            Text1.Text = Text1.Text & W1 & Space(5) & W2 & vbCrLf
        End If
    Loop
    Close #1
End Sub
#7
chr782282018-07-16 21:38
回复 2楼 ZHRXJR
Input #1, W1, W2, W3
这句执行有问题啊
#8
ZHRXJR2018-07-16 22:33
以下是引用chr78228在2018-7-16 21:38:49的发言:

Input #1, W1, W2, W3
这句执行有问题啊

与你的txt文件有关,可能是文件结构不同引起的。

好吧,给你我的txt文件,与你上面比较,好像第一个字符不是英文逗号 “,”号,其他都一样的。
6335413778402,6335413778402,12
3E5413778-4a,1,
789455223,789455223,33
9988654213,9988654213,17
6A547899,2,

[此贴子已经被作者于2018-7-20 21:57编辑过]

#9
Artless2018-07-17 23:38
上传文本文件吧
#10
wlrjgzs2018-07-20 20:16
回复 8楼 ZHRXJR
人家的文件结构不是在上面吗?
#11
ZHRXJR2018-07-20 22:00
好吧,给你我的txt文件,与你上面比较,好像第一个字符不是英文逗号 “,”号,其他都一样的。
6335413778402,6335413778402,12
3E5413778-4a,1,
789455223,789455223,33
9988654213,9988654213,17
6A547899,2,

你的是下面内容,不一样吧。
'6335413778402 , 6335413778402, 12,
' 3W5413778-4a , 1 ,
#12
wlrjgzs2018-07-21 12:54
以下是引用ZHRXJR在2018-7-20 22:00:31的发言:

好吧,给你我的txt文件,与你上面比较,好像第一个字符不是英文逗号 “,”号,其他都一样的。
6335413778402,6335413778402,12
3E5413778-4a,1,
789455223,789455223,33
9988654213,9988654213,17
6A547899,2,

你的是下面内容,不一样吧。
'6335413778402 , 6335413778402, 12,
' 3W5413778-4a , 1 ,

终于发现不一样了?
#13
wlrjgzs2018-07-21 12:57
楼主这个问题本身描述的就不正规,有前言不搭后语之嫌。对这种连问题都描述不通顺的帖子,我只看热闹不说话。
1