
Tengo múltiples instancias de [palabra]- [palabra] en un texto, por ejemplo, interés propio en lugar de interés propio, que es la forma correcta. Estoy intentando eliminar el espacio sobrante después del trazo usando los comodines de MS Word. En el cuadro Buscar y reemplazar ingreso:
Buscar: *- *
Reemplazar con: \1-\2
Sin embargo, no funciona. ¿Cuál es la forma correcta para lograr esto?
Respuesta1
VBA:
Ejecutar WrapReplace
en documento de Word.
Sub WrapReplace()
Call RegExpReplace("(\w+)\-\s(\w+)", "$1-$2")
End Sub
Private Sub RegExpReplace(pattern As String, Backreference As String)
Dim strReplacement As String
Set oRegExp = CreateObject("VBScript.RegExp")
With oRegExp
.Global = True
.IgnoreCase = False
.pattern = pattern
End With
Set matches = oRegExp.Execute(ActiveDocument.Content)
For Each match In matches
Set matchRange = ActiveDocument.Content
strReplacement = oRegExp.Replace(match.Value, Backreference)
With matchRange.Find
.Text = match.Value
.Replacement.Text = strReplacement
.Wrap = wdFindAsk
.Execute Replace:=wdReplaceOne
End With
Next
End Sub