VB去字符两边的多余符号

VB去字符两边的多余符号,第1张

Public Function lrstr(char As String) As String
If char = "" Then
lrstr = ""
Exit Function
End If
m1 = ""
For i = 1 To Len(char)
If Asc(Mid(char, i, 1)) <> 32 And Asc(Mid(char, i, 1)) <> 13 And Asc(Mid(char, i, 1)) <> 10 And Asc(Mid(char, i, 1)) <> 9 Then m1 = m1 & Mid(char, i, 1)
Next i
lrstr = m1
End Function
Private Sub Command1_Click()
Dim k As String
k = "abcdef" & vbCrLf & "ghi"
MsgBox k
MsgBox lrstr(k)
End Sub
还有,你的函数主要作用就是去掉空格,回车,换行,还有空字符是吧,函数也可以这样写:
Public Function lrstr1(char As String) As String
char = Replace(char, Chr(32), "")
char = Replace(char, Chr(13), "")
char = Replace(char, Chr(10), "")
char = Replace(char, Chr(9), "")
lrstr1 = char
End Function

呵呵给你个好玩的思路别人的程序都用了循环,如果字符串很大,或是最右边的换行符超多,可能循环次数就会比较多,我的不管有多长,只要5下就清空,代码如下:
Dim
a$
a
=
"a
a"
&
vbCrLf
&
"bb"
&
vbCrLf
&
"fdas"
&
vbCrLf
&
vbCrLf
&
vbCrLf
a
=
Replace(a,
"
",
"vb妮可")
a
=
Replace(a,
vbCrLf,
"
")
a
=
RTrim(a)
a
=
Replace(a,
"
",
vbCrLf)
a
=
Replace(a,
"vb妮可",
"
")
我的思路就是:
1将原串中的空格都先替换成奇怪的短串,这样你的字符串中就没有空格了
2然后将所有的换行符都换成空格
3VB有一个删除右边空格的函数RTrim,可以把右边的空格都清除
4没有删除的空格就是符合你要求的换行了,再替换回换行符
5将奇怪的短串还原成空格
完成

'此函数KillSpace用以除去字符串中的空格,请将此函数粘贴到代码窗口空白处。(不在任何Sub过程里)Function KillSpace(Expression)
Dim tmpS
For i = 1 To Len(Expression)
tmpT = Mid(Expression, i, 1)
If tmpT <> " " Then tmpS = tmpS & tmpT
Next i
KillSpace = tmpS
End Function'在某个过程里调用此函数,例如:Private Sub Command1_Click()Text1Text=KillSpace("7 591 6512 1458 050")End Sub'这样在Text1里就显示:759165121458050


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13399009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-28
下一篇 2023-07-28

发表评论

登录后才能评论

评论列表(0条)

保存