怎么去掉标点前的空格

How to remove spaces in front of punctuation

我有一个包含标点符号的字符串。每个标点符号前面都有一个space。

例如,"Do you like ?"

如何删除每个标点符号前面的 spaces?

您可以使用像“+([\?!,.])”这样的正则表达式来替换每个 ? ! , 要么 。前面至少有一个 space :

Dim regEx As New RegExp
With regEx
    .Global = True
    .MultiLine = True
    .IgnoreCase = False
    .Pattern = " +([\?!,\.])"
End With

Dim strInput As String: strInput = "Do you like it  , really ? Yeah ! Not kidding  ? Cool ."
strInput = regEx.Replace(strInput, "")
MsgBox strInput

您需要在 VBA 编辑器的 Tools/References 菜单中添加对 Microsoft VBScript 正则表达式 5.5 的引用(我使用的是 Word 2013 VBA 本例的编辑器)