vb6如何判断并删除字符串首行的空行或空格

hktkzyz 2014-12-20 11:08:42

Text2.Text = "" '初始测试结果为空
str1 = LTrim(Text1.Text) '去除首行空格

k = 0 '初始计数器为0
If str1 <> "" Then '如果要处理的字符串不为空,
Do While Split(str1, vbCrLf)(k) = "" '从第一行开始,如果为空,则循环下一行,计数器加1,
k = k + 1
Loop
str2 = Split(str1, vbCrLf)(k) '如果当前行不为空行时,退出循环,并把这行赋值给str2
For x = k + 1 To UBound(Split(str1, vbCrLf)) '从下一行循环到最后一行,str2=本身+回车+当前行的内容
str2 = str2 & vbCrLf & Split(str1, vbCrLf)(x)
Next

Text2.Text = str2 'text2是得到的结果
End If


总感觉我这个方法太麻烦,希望能有好用的方法,比如通过字符串转为16进制或其他可以识别回车的方式来删除开始的空行。
不知正则效率怎么样,感觉可能也不会太好
...全文
303 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
一如既往哈 2014-12-20
  • 打赏
  • 举报
回复
先来个简单的:
Sub Test()
    Dim w1 As String, i As Long, w2 As String, ww
    w1 = Trim(Text1.Text)
    If w1 <> "" Then
        ww = Split(w1, vbCrLf)
        w1 = ""
        For i = 0 To UBound(ww)
            w2 = Trim(ww(i))
            If w2 <> "" Then w1 = w1 & IIf(w1 <> "", vbCrLf, "") & w2
        Next
    End If
    Text2.Text = w1
End Sub


Carlven2012 2014-12-20
  • 打赏
  • 举报
回复

Private Sub Command1_Click()
    Dim reg As New RegExp
    reg.Pattern = "(\r|\n){1,}"
    reg.Global = False
    reg.IgnoreCase = True
    reg.MultiLine = True
    Text2 = reg.Replace(Text1, "")
End Sub
这是你想要的效果吗?

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧