我有一个包含标点符号的字符串。每一个标点符号都有一个空格。
例如, "Do you like ?"
。
如何删除每个标点符号前面的空格?
答案 0 :(得分:2)
你可以使用像"这样的正则表达式。 +([\?!,。])"`替换每一个? ! , 要么 。前面至少有一个空格:
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, "$1")
MsgBox strInput
您需要在VBA编辑器的Tools / References菜单中添加对 Microsoft VBScript Regular Expression 5.5 的引用(我在本例中使用了Word 2013 VBA编辑器)