VB怎样删除文本第一行空行

来源:百度知道 编辑:UC知道 时间:2024/05/29 04:32:57
有一文本数据:
例如:

空行
aaaaaaaaaaaaaa
空行
bbbbbbbbbbbbbbbbbbbbb
空行
空行
ccccccccccccccccccccccc
空行
空行
ddddddddddddddddddddd
空行
空行
空行
空行

怎样才能得到:
aaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbb
ccccccccccccccccccccccc
ddddddddddddddddddddd
也就是没有空行的数据

用str = Replace(Join(Split(Join(Split(str, vbCrLf & vbCrLf), vbCrLf), vbCrLf & vbCrLf), vbCrLf), vbCrLf & vbCrLf, vbCrLf)
不能删除第一行和最后一行的空行,只能删除中间的

建一个Command1,我默认路径为D:\A.Txt,请自己修改。
代码如下。
===========
Dim s()
Private Sub Command1_Click()
ReDim s(0)
Open "d:\a.txt" For Input As 1
Do While EOF(1) = False
ReDim Preserve s(UBound(s) + 1)
Line Input #1, s(UBound(s))
Loop
Close
Open "d:\a.txt" For Output As 1
Dim i As Integer
For i = 1 To UBound(s)
If Len(s(i)) > 0 Then
If i = UBound(s) Then
Print #1, s(i);
Else
Print #1, s(i)
End If
End If
Next
Close
MsgBox "完毕"
End Sub

用正则替换
dim reg
Set reg= New RegExp
reg.Global = True
reg.Pattern = "(\n\r)"
Str=reg.replace(Str,"")
msgbox str
测试过的.

关于替换,要学习正则的方法.自己写一下正则的函数,作一个超级replace,在代码的任何地方都可以用.

用split和for循环.
strS = Split(str, vbCrLf & vbCrLf)
str=""
for i=0 to ubound(StrS)
if strS(i)<>"" then