怎样用vb删除txt文本文件中不是数字的其他字符
但数字全部保留vb程序目录中有一个文本文件123.txt。vb窗体关闭后,自动清除这个文件中的非数字字符。但保留所有数字。代码怎样写呢?...
但数字全部保留
vb程序目录中有一个文本文件123.txt。vb窗体关闭后,自动清除这个文件中的非数字字符。但保留所有数字。代码怎样写呢? 展开
vb程序目录中有一个文本文件123.txt。vb窗体关闭后,自动清除这个文件中的非数字字符。但保留所有数字。代码怎样写呢? 展开
展开全部
Private Sub Form_Unload(Cancel As Integer)
Dim a As String, s As String
Open "c:\1234.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, a
For i = 1 To Len(a)
If IsNumeric(Mid(a, i, 1)) Then s = s + Mid(a, i, 1)
Next i
s = s & vbCrLf
Loop
Close
Open "c:\1234.txt" For Output As #1
Print #1, s
Close
MsgBox "完成"
End Sub
c:\123.txt为文件路径,改为你的文件路径即可
我已验证,运行正确
Dim a As String, s As String
Open "c:\1234.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, a
For i = 1 To Len(a)
If IsNumeric(Mid(a, i, 1)) Then s = s + Mid(a, i, 1)
Next i
s = s & vbCrLf
Loop
Close
Open "c:\1234.txt" For Output As #1
Print #1, s
Close
MsgBox "完成"
End Sub
c:\123.txt为文件路径,改为你的文件路径即可
我已验证,运行正确
更多追问追答
追问
要保留小数点、负号(它们是数字的组成部分)以及空格。麻烦请再修改下。
追答
Private Sub Form_Unload(Cancel As Integer)
Dim a As String, s As String, b As Integer
Open "c:\1234.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, a
For i = 1 To Len(a)
b = Asc(Mid(a, i, 1))
If b = 32 Or b = 45 Or b = 46 Or b > 47 And b < 58 Then s = s + Mid(a, i, 1)
Next i
s = s & vbCrLf
Loop
Close
Open "c:\1234.txt" For Output As #1
Print #1, s
Close
MsgBox "完成"
End Sub
展开全部
可以用二进制打开,然后把数据赋给一个一维数组(定义大小和文件一样),每得到一个字符就检查是否是数字,不是就置“空”,最后再写回去或者新建一个文件,遇空就跳过。
追问
具体些
追答
楼上的方法可行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个要求只能采用全部读出后,用字符串替换函数替换字符为空格.或指定的字符后,再次写入文本中.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同意
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询