2017-04-10 414 views
0

我有一個包含標點符號的字符串。每一個標點符號都有一個空格。如何刪除標點符號前的空格

例如,"Do you like ?"

如何刪除每個標點符號前的空格?

+0

到目前爲止你做了什麼? :) –

+0

你可以使用正則表達式 – Shinigami

+1

你可以用正則表達式很容易地解決這個問題,你應該學會它 – Beat

回答

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 

您需要添加一個引用微軟的VBScript正則表達式在VBA編輯器的工具/引用菜單5.5(我用的Word 2013 VBA編輯器,在這個例子中)

+0

甜蜜我會在我回家後嘗試它:)我曾經見過那個,但我不知道你必須在編輯器中引用VB的東西,所以這可能是爲什麼它不起作用。 –