如何替换连续空白

tntxhy 2004-08-11 09:33:37
如何将字符串中的连续空白替换为一个空格
在其他的语言中用正则表达式可以很容易实现,不知道VB中该如何做呢?
...全文
220 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2004-08-11
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim I As Integer, S As String
S = "1 2 6 7 9"
For I = Len(S) To 2 Step -1
S = Replace(S, Space(I), Space(1))
Next
MsgBox S
End Sub
落伍者 2004-08-11
  • 打赏
  • 举报
回复
dim str as string
dim strTemp as string
dim i as integer
'模拟c的做法
str="a b c"
strTemp=left(str,1)
i=2
while i<=len(str)
if mid(str,i,1)="" then '空格
if(right(strTemp,1)<>"") then 'strtemp的最后一个不是空格
strTemp=strTemp & mid(str,i,1)
end if
else
strTemp=strTemp & mid(str,i,1)
end if
i=i+1
wend
starsoulxp 2004-08-11
  • 打赏
  • 举报
回复
加一句,vb里也可以使用正则表达式,也可以实现你这个功能,不过具体怎么用不太清楚。
starsoulxp 2004-08-11
  • 打赏
  • 举报
回复
口香糖的正解,但原理是一样的
starsoulxp 2004-08-11
  • 打赏
  • 举报
回复
Dim s As String
s = Space(6)
Do
s = Replace(s, Space(2), Space(1))
Loop Until Len(s) = 1
MsgBox Len(s)
脆皮大雪糕 2004-08-11
  • 打赏
  • 举报
回复
不断测试字符串中是否含有两个连续的空格,如果含有则将这两个空格替换成为一个空格,直到不含有两个连续空格为止

Dim test As String
test = "a b c"
Do While InStr(1, test, " ") > 0
test = Replace(test, " ", " ")
Loop
Debug.Print test
jordi2014 2004-08-11
  • 打赏
  • 举报
回复
vb中也可以用正则表达式呀。
lgs666 2004-08-11
  • 打赏
  • 举报
回复

其实一个语句就够了,例如
Replace("asdf sdf sdf",space(1),"")
zhangzhijian 2004-08-11
  • 打赏
  • 举报
回复
差不多了!

7,759

社区成员

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

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