MS Word: busque solo números de 3 dígitos

MS Word: busque solo números de 3 dígitos

Necesita buscar y eliminar todos los números que tengan solo 3 dígitos, e ignorar los números de 1 a 2 y más de 4 dígitos (si le sirve de ayuda, el tercer dígito va seguido de texto sin espacios entre ellos, por ejemplo, "457text"). ¡¡¡Agradezco mucho cualquier ayuda!!!

Respuesta1

Puede hacer esto en Word (es decir, sin secuencias de comandos) con un comodín para buscar y reemplazar. Si 3 dígitos siempre van seguidos de una letra:

ingrese la descripción de la imagen aquí

o si desea permitir cualquier carácter (por ejemplo, puntuación), puede excluir que el cuarto carácter sea un dígito con una variación:

ingrese la descripción de la imagen aquí

En ambos ejemplos, en la sección Buscar, los corchetes indican partes: queremos encontrar los 3 dígitos al comienzo de una "palabra" como primera parte, y encontrar solo aquellos donde el siguiente carácter es una letra, es decir, la segunda. parte que queremos conservar.

Reemplazar con \2 significa que "reemplazamos" nuestro texto encontrado (p. ej., 123A) con solo la parte "A" (el resto del texto que sigue sin cambios no forma parte del resultado de "buscar").

< significa comienzo de palabra, es decir, queremos que los 3 dígitos estén al comienzo de la palabra pero no queremos seleccionar 3 dígitos a mitad de una secuencia más larga (por ejemplo, ignorar 12345 al no encontrar 345 dentro de él).

Los corchetes son un rango de caracteres, por lo que [0-9] significa cualquier dígito del 0 al 9 y {3} significa una secuencia de 3 de esos caracteres. La [A-Za-z] significa cualquier letra minúscula o mayúscula. La opción alternativa con [!0-9] encuentra todo excepto (! no es) los dígitos del 0 al 9.

Respuesta2

Sí, puedes hacer esto con un script VBA. Para abrir el Editor VBA presione ALT + F11 al mismo tiempo. Ingrese el siguiente código en el Editor VBA

Sub RegexReplace()

    Dim RegEx As Object
    Set RegEx = CreateObject("VBScript.RegExp")    
    On Error Resume Next

    RegEx.Global = True
    RegEx.Pattern = InputBox("[0-9][0-9][0-9]")
    ActiveDocument.Range = _ 
    RegEx.Replace(ActiveDocument.Range, InputBox(""))        

End Sub

información relacionada