我正在尝试在字符串周围和字符串之间消除空格。事实是,我知道可以使用leading
摆脱trailing
和Trim()
的空白,但是我无法删除位于字符串单词之间的空格。但是,如果我选择Replace()
,则那里没有空格,甚至更糟。
我尝试过:
Sub KickOutWhitespaces()
itemstr = " hi there sam "
Debug.Print Trim(itemstr)
Debug.Print Replace(itemstr, " ", "")
End Sub
我得到的输出:
hi there sam
hitheresam
我希望得到的东西:
hi there sam
我签出了first one和second one这两个答案,但这些并没有帮助我解决这个问题。
如何使用vba消除空格?
答案 0 :(得分:2)
您可以使用RegEx:
Sub repl()
Dim myRegExp As RegExp
Set myRegExp = New RegExp
Dim itemstr As String
myRegExp.Global = True
' The pattern is two spaces followed by an asterisk
myRegExp.Pattern = " *"
itemstr = " hi there sam "
Dim finalStr As String
finalStr = Trim(myRegExp.Replace(itemstr, " "))
Debug.Print finalStr
End Sub
您将需要RegEx参考。
编辑:小孩子,这太过分了。如前所述,您只需Worksheetfunction.trim(itemstr)
答案 1 :(得分:0)
使用Trim(" ")
,然后使用Replace(" ", " ")
将2个连续的空格替换为1个空格。
2个连续空格的所有实例将替换为一个空格。