我有一个账单需要在使用SQL进行处理之前进行清理。我已经使用了正则表达式模式来删除任何标点符号,但我认为我也可以使用它来匹配单词之间的过多空格,但是我在VBA脚本中的替换部分遇到了问题。
到目前为止,我的代码是:
Sub RemoveSpace()
Dim cell As Range
Range("A2:C2").Select
Range(Selection, Selection.End(xlDown)).Select
With CreateObject("vbscript.regexp")
.Pattern = "[\s{2,0}]"
.Global = True
For Each cell In Selection.SpecialCells(xlCellTypeConstants)
cell.Value = .Replace(cell.Value, " ")
Next cell
End With
End Sub
尽管此脚本匹配空格,但它不会将其替换为单个空格。我认为Excel将每个匹配的单个空格替换为另一个空格,而不是将多个空格视为“一个”。有没有办法去除所有多个空格并将它们替换为单个空格?
\s{2,0}
是一个无效的模式,请尝试在https://regex101.com上验证。 - Wiktor Stribiżew