Buscar y reemplazar texto usando expresiones regulares (avanzado)

Puede automatizar muchas tareas de buscar y reemplazar usando caracteres comodín para crear expresiones regulares, que son combinaciones de texto literal y caracteres comodín.

Por ejemplo, puede usar expresiones regulares para buscar y quitar filas duplicadas de una tabla extensa o para transponer una lista de nombres (cambiar de "Nombre Apellido" a "Apellido, Nombre").

En este artículo

Términos

¡Pruébelo!

Cómo funcionan las expresiones regulares

Caracteres comodín para buscar y reemplazar elementos

Utilizar caracteres comodín para buscar y reemplazar texto

Caracteres comodín disponibles

Poner a trabajar expresiones regulares

Ejemplo 1: Transponer nombres con las iniciales del segundo nombre

Las expresiones, paso a paso

Ejemplo 2: Transponer fechas

Las expresiones, paso a paso

Acerca de cómo usar separadores de listas en expresiones regulares

Ejemplo 3: Agregar puntos a las fórmulas de tratamiento o quitarlos

Ejemplo 4: Buscar párrafos o filas duplicados

Más ejemplos

Acerca de los autores

Términos

Antes de nada, definamos un par de términos:

  • Un carácter comodín es un carácter del teclado que se puede usar para representar uno o más caracteres. Por ejemplo, el asterisco (*) suele representar uno o más caracteres y el signo de interrogación (?) suele representar un solo carácter.

  • En nuestro caso, una expresión regular es una combinación de caracteres literales y comodines que se usan para buscar y reemplazar cadenas de texto. Los caracteres de texto literal indican el texto que debe existir en la cadena de texto de destino. Los caracteres comodín indican el texto que puede variar en la cadena de destino.

Principio de página

¡Pruébelo!

Los pasos descritos en esta sección explican cómo usar una expresión regular que transpone nombres. Tenga en cuenta que siempre se utiliza el cuadro de diálogo Buscar y reemplazar para ejecutar expresiones regulares. Recuerde también que si una expresión no funciona como esperaba, siempre puede pulsar CTRL+Z para deshacer los cambios y, a continuación, probar con otra expresión.

Para transponer nombres

  1. Inicie Word y abra un documento nuevo, en blanco.

  2. Copie esta tabla y péguela en el documento.

Josh Barnhill

Doris Hartwig

Tamara Johnston

Daniel Shimshoni

  1. En la ficha Inicio, en el grupo Modificar, haga clic en Reemplazar para abrir el cuadro de diálogo Buscar y reemplazar.

    Grupo Modificar

  2. Si no ve la casilla de verificación Usar caracteres comodín, haga clic en Más y, a continuación, seleccione la casilla de verificación. Si no selecciona la casilla de verificación, Word trata los caracteres comodín como texto.

  3. Escriba los siguientes caracteres en el cuadro Buscar . No olvide incluir el espacio entre los dos paréntesis:

    (<*>) (<*>)

  4. En el cuadro Reemplazar con, escriba la siguiente información. No olvide incluir el espacio entre la coma y la segunda barra:

    \2, \1

  5. Seleccione la tabla y, a continuación, haga clic en Reemplazar todo. Word transpone los nombres y los separa con una coma del siguiente modo:

Barnhill, Josh

Hartwig, Doris

Johnston, Tamara

Shimshoni, Daniel

Llegados a este punto, se preguntará qué debe hacer si alguno o todos los nombres contienen las iniciales del segundo nombre. Vea el primer ejemplo dePoner a trabajar expresiones regulares si desea más información.

Principio de página

Cómo funcionan las expresiones regulares

De aquí en adelante, tenga presente este principio: El contenido del documento determina la mayor parte del diseño (no todo) de las expresiones regulares. Por ejemplo, en la tabla de muestra que ha utilizado anteriormente, cada celda contiene dos palabras. Si la celda tuviera dos palabras y una inicial en medio, utilizaría una expresión diferente.

Examinemos cada expresión de arriba a abajo:

En la primera expresión, (<*>) (<*>):

  • El asterisco (*) devuelve todo el texto de la palabra.

  • Los símbolos menor que y mayor que (< >) marcan el inicio y el final de cada palabra respectivamente. Garantizan que la búsqueda devuelva una sola palabra.

  • Los paréntesis y el espacio entre ellos dividen las palabras en grupos distintos: (primera palabra) (segunda palabra). El paréntesis también indica el orden en el que queremos que la búsqueda evalúe cada expresión.

En otras palabras, la expresión indica: "Buscar ambas palabras".

En la segunda expresión, \2, \1:

  • La barra (\) hace que los números funcionen como marcadores de posición. (También puede utilizar la barra para buscar otros caracteres comodín. Vea la siguiente sección para obtener más información.)

  • La coma después del primer marcador de posición inserta la puntuación correcta entre los nombres transpuestos.

En otras palabras, la expresión indica: "Escribir la segunda palabra, agregar una coma, escribir la primera palabra".

Principio de página

Caracteres comodín para buscar y reemplazar elementos

Para buscar texto se pueden usar caracteres comodín. Por ejemplo, puede utilizar el carácter comodín asterisco (*) para buscar una cadena de caracteres (por ejemplo, "s*n" encontrará "san" y "según").

Utilizar caracteres comodín para buscar y reemplazar texto

  1. En la ficha Inicio, en el grupo Edición, haga clic en la flecha que hay junto a Buscar y, a continuación, haga clic en Búsqueda avanzada.

    Grupo Modificar

  2. Active la casilla de verificación Usar caracteres comodín.

    Si no aparece la casilla de verificación Usar caracteres comodín, haga clic en Más.

  3. Realice una de las siguientes acciones:

    • Para elegir un carácter comodín en una lista, haga clic en Especial, haga clic en un carácter comodín y, a continuación, escriba el texto adicional en el cuadro Buscar. Para obtener más información, vea la tabla Caracteres comodín disponibles.

    • Escriba un carácter comodín directamente en el cuadro Buscar. Si desea más información, consulte la tabla Caracteres comodín disponibles.

  4. Si desea reemplazar el elemento, haga clic en la ficha Reemplazar y, a continuación, escriba lo que desee usar como reemplazo en el cuadro Reemplazar con.

  5. Haga clic en Buscar siguiente, Buscar todos, Reemplazar o en Reemplazar todos.

    Para cancelar una búsqueda en curso, presione ESC.

Caracteres comodín disponibles

Nota  

  • Si activa la casilla de verificación Usar caracteres comodín, Word buscará sólo el texto exacto que especifique. (Las casillas de verificación Coincidir mayúsculas y minúsculas y Sólo palabras completas no están disponibles o aparecen atenuadas para indicar que estas opciones se activan automáticamente; no es posible desactivarlas).

  • Para buscar un carácter definido como comodín, escriba una barra diagonal inversa (\) antes del carácter. Por ejemplo, escriba \? para buscar el signo de interrogación.

  • Puede usar paréntesis para agrupar los caracteres comodín y el texto, e indicar el orden de evaluación. Por ejemplo, escriba <(pre)*(do)> para buscar "predefinido" y "preestablecido".

  • Puede utilizar el carácter comodín \n para buscar una expresión y, a continuación, reemplazarla por la misma expresión en un orden distinto. Por ejemplo, escriba (Hernández) (Cristina) en el cuadro Buscar y \2 \1 en el cuadro Reemplazar con. Word buscará Hernández Cristina y lo reemplazará por Cristina Hernández.

Para buscar

Tipo

Ejemplo

Cualquier carácter

?

s?n encontrará sin y son.

Cualquier cadena de caracteres

*

s*r encontrará sumar y soñar.

El principio de una palabra

<

<(inter) encontrará interesante e interceptar, pero no linterna.

El final de una palabra

>

(en)> encontrará en y comen, pero no comentario.

Uno de los caracteres especificados

[ ]

s[io]n encontrará sin y son.

Cualquier carácter individual incluido en el intervalo

[-]

[b-d]ota encontrará bota y cota. Los intervalos deben ir en orden ascendente.

Cualquier carácter individual, excepto los caracteres del intervalo incluido entre corchetes

[!x-z]

l[!a-h]s encontrará lis y los, pero no las ni les.

Exactamente n apariciones del carácter o la expresión anterior

{n}

ca{2}a encontrará calla pero no cala.

Al menos n apariciones del carácter o la expresión anterior

{n,}

cal{1,}a encontrará cala y calla.

De n a m apariciones del carácter o la expresión anterior

{n,m}

10{1,3} encontrará 10, 100 y 1000.

Una o más apariciones del carácter o la expresión anterior

@

per@ encontrará pero y perro.

Principio de página

Poner a trabajar expresiones regulares

Estos ejemplos muestran algunas de las formas en las que puede utilizar los caracteres comodín y las expresiones regulares en Microsoft Word

Ejemplo 1: Transponer nombres con las iniciales del segundo nombre

En este ejemplo se utiliza una combinación de caracteres comodín y códigos de carácter para transponer nombres que contienen las iniciales del segundo nombre. Si no está familiarizado con los códigos de los caracteres, consulte el tema de la Ayuda de Word Buscar y reemplazar texto y otros datos en archivos de Word 2010.

Mientras realiza la operación, tenga en cuenta lo siguiente:

  • Siempre que utilice esta expresión en nombres incluidos en una tabla, primero debe convertir la tabla en texto.

  • Si la tabla contiene más de una columna, copie la columna que contiene los nombres en un documento en blanco y conviértala en texto ahí.

  • Después de transponer los nombres, convierta el texto de nuevo en tabla. Entonces, podrá eliminar la columna original y sustituirla  por los datos modificados.

Para preparar los datos de muestra

  1. Si todavía no lo ha hecho, inicie Word y cree un documento nuevo, en blanco.

  2. Inserte una tabla en blanco en el documento. La tabla debe tener una columna de ancho y cuatro filas de alto.

  3. Copie estos nombres uno a uno y pegue cada uno en una celda en blanco de la tabla:

    Joshua Quentin Barnhill
    Doris X. Hartwig
    Tamara Y. Johnston
    Daniel Shimshoni

    Su tabla debería verse así:

Joshua Quentin Barnhill

Doris X. Hartwig

Tamara Y. Johnston

Daniel Shimshoni

  1. Seleccione la tabla y, en la ficha Herramientas de tabla, Diseño, en el grupo Datos, haga clic en Convertir en texto.

  2. Seleccione Marcas de párrafo como separador de texto y, a continuación, haga clic en Aceptar.

Para transponer nombres e iniciales

  1. En la ficha Inicio, en el grupo Modificar, haga clic en Reemplazar para abrir el cuadro de diálogo Buscar y reemplazar.

  2. Seleccione la casilla de verificación Usar caracteres comodín (quizás tenga que hacer clic en Más para ver la casilla de verificación) y, a continuación, escriba la siguiente expresión en el cuadro Buscar:

    (*) ([! ]@)^13

    No olvide incluir un espacio entre dos paréntesis y después el signo de exclamación. Si nunca antes ha visto el carácter ^13, explicamos lo que hace en la sección siguiente.

  3. En el cuadro Reemplazar con, escriba la siguiente expresión:

    \2, \1^p

  4. Seleccione la lista de nombres y, a continuación, haga clic en Reemplazar todo. Word transpone los nombres y, bien, las iniciales del segundo nombre o el segundo nombre, como a continuación:

    Barnhill, Joshua Quentin
    Hartwig, Doris X.
    Johnston, Tamara Y.
    Shimshoni, Daniel

Para convertir el texto modificado de nuevo en tabla

  1. Seleccione la lista de nombres transpuestos.

  2. En la ficha Insertar, en el grupo Tablas, haga clic en Tabla y, a continuación, haga clic en Convertir texto en tabla.

    Se abrirá el cuadro de diálogo Convertir texto en tabla.

  3. En Separar texto con, haga clic en Párrafos y, a continuación, haga clic en Aceptar.

Las expresiones, paso a paso

Veamos las partes de la expresión una a una para comprender cómo funciona, comenzando con la expresión del cuadro Buscar.

Toda la expresión busca dos grupos de cadenas: un primer nombre con una inicial de segundo nombre y un apellido. El (*) busca todos los nombres. Observe que hay un espacio después del asterisco.

Esta parte de la expresión busca coincidencias con los apellidos:

([! ]@)^13

El signo de exclamación excluye cualquier carácter especificado entre corchetes. En este caso, [! ] significa "buscar todo excepto espacios" y el resultado es que recorta el espacio que hay delante de los apellidos.

El carácter @ busca una o más apariciones del carácter anterior, de modo que lo que hace es asegurarse de que se quitan todos los espacios delante del apellido.

Necesitamos saber dónde termina el apellido, por lo que también utilizamos el carácter ^13 para buscar la marca de párrafo al final de cada línea. Sin embargo, como no planeamos volver a utilizar la marca de párrafo, lo ponemos todo entre paréntesis.

Puede intentarlo copiando de nuevo los nombres del documento de prueba (recuerde separarlos con marcas de párrafo) y realizar la búsqueda utilizando ([! ]@)^13 en el cuadro Buscar. La búsqueda devuelve todos los apellidos.

Como la búsqueda comienza de nuevo por el comienzo de la línea siguiente, utilizamos el carácter comodín asterisco (l*) para que coincida con todo desde ahí hasta el inicio del siguiente apellido.

Como no planeamos volver a utilizar el espacio que hay delante del apellido, utilizamos el paréntesis para excluirlo de los dos grupos:

(*) ([! ]@)^13

Importante  Tenga cuidado al utilizar el código de carácter ^13. Por lo general, puede utilizar el código de carácter ^p para buscar las marcas de párrafo. Sin embargo, ese código no funciona en las búsquedas con caracteres comodín. ¿Por qué? El carácter ^p incluye información de formato, mientras que el carácter ^13, no. Además, no puede asignar información de estilo al carácter ^13 en absoluto. Si utiliza mal el código ^13 en una operación de reemplazar puede, básicamente, convertir el documento en un archivo al que no se pueda aplicar formato.

La expresión "reemplazar" (\2 \1) realiza la transposición propiamente dicha. En el cuadro Reemplazar con, los caracteres \2, indica que se escriba la segunda cadena en primer lugar y se agregue una coma después de la cadena. Los caracteres \1^p indican dónde se debe escribir la primera cadena y que se escriba una marca de párrafo después de esa cadena.

Ejemplo 2: Transponer fechas

Puede utilizar las expresiones regulares mostradas a continuación para convertir fechas en formato europeo a fechas en formato estadounidense.

Para transponer fechas

  1. Copie y pegue la siguiente fecha en su documento: 28th May 2003

  2. Abra el cuadro de diálogo Buscar y reemplazar y escriba la siguiente expresión en el cuadro Buscar:

    ([0-9]{1,2})([dhnrst]{2}) (<[ADFJMNOS]*>) ([0-9]{4})

    No olvide insertar un espacio entre los paréntesis de apertura y cierre: 2}) (<[ and *>) ([0.

  3. Escriba la siguiente expresión en el cuadro Reemplazar con:

    \3 \1, \4

    No olvide insertar un espacio entre cada conjunto de caracteres.

  4. Haga clic en Reemplazar todo.

    La operación de búsqueda reemplaza 28th May, 2003 por May 28, 2003.

Las expresiones, paso a paso

Comencemos con la expresión del cuadro Buscar. La expresión divide la fecha en cuatro bloques, representados por los cuatro pares de paréntesis. Cada parte consta de los componentes que encontrará en todas las fechas escritas en el estilo que utilizó en el ejemplo. De izquierda a derecha:

  • El número del rango [0-9] coincide con números de un solo dígito del primer bloque. Como las fechas pueden incluir dos números, indicamos a la búsqueda que nos devuelva fechas de uno o de dos dígitos: {1,2}. El resultado es el primer bloque: ([0-9]{1,2}).

    Los ordinales conforman el segundo bloque. Los ordinales incluyen los apéndices "th", "nd", "st" y "rd", así que añadimos estas letras al rango [dhnrst]. Como los ordinales siempre consisten en dos letras, restringimos el recuento de letras a dos: ([dhnrst]{2}).

  • A continuación viene un espacio, seguido por caracteres literales y comodines que encuentran los nombres de los meses. Todos los nombres de los meses comienzan por letra mayúsculas: ADFJMNOS. No sabemos cuántos caracteres siguen a cada letra inicial, así que escribimos a continuación un asterisco (*). Solamente estamos interesados en el nombre del mes, así que utilizamos los caracteres mayor que y menor que para limitar los resultados a la palabra individual. El resultado es el cuarto bloque: (<[ADFJMNOS]*>).

  • Por último, buscamos el año. Utilizamos el mismo rango de números, pero en esta ocasión restringimos el recuento a cuatro letras ([0-9]{4}).

Observe que en el cuadro Reemplazar con, escribimos solo tres de los cuatro bloques de direcciones. Omitimos el ordinal ("th") de la fecha porque las fechas en el formato estadounidense no utilizan ordinales. Si desea dejar el ordinal de la fecha, escriba \3 \1\2, \4 en el cuadro Reemplazar con. En este caso, escriba un espacio después del 3 y después de la coma, pero en ningún sitio más.

Se preguntará cómo manejar las fechas en las que el nombre del mes no aparece en letra, como en 28/05/03. Buscaría utilizando esta expresión:

([0-9]{1,2})/([0-9]{1,2})/([0-9]{2})

Y la reemplazaría utilizando esta expresión:

\3/\1/\2

Si la fecha toma el formato de 28/05/2003, utilizamos {4} en el último bloque, en lugar de {2}.

Acerca de cómo usar separadores de listas en expresiones regulares

El ejemplo anterior utiliza el siguiente argumento para buscar fechas de un dígito o, bien, de dos dígitos: {1,2}. En este caso, una coma separa los dos valores. Sin embargo, recuerde que su configuración regional de Windows controla el separador de listas que utiliza. Si su configuración regional especifica el uso de puntos y comas como separadores de lista, tendrá que utilizarlos en lugar de las comas.

Para averiguar cuál es el separador de listas que especifica su sistema operativo, haga lo siguiente:

Windows 7

  1. Haga clic en el botón Inicio Imagen del botón y, a continuación, haga clic en Panel de control.

  2. Haga clic en Reloj, idioma y región.

  3. Haga clic en Cambiar formato de fecha, hora o número y, a continuación, haga clic en Configuración adicional.

  4. Haga clic en la ficha Números y, a continuación, busque la entrada Separador de listas.

Windows Vista

  1. Haga clic en el botón Inicio Imagen del botón y, a continuación, haga clic en Panel de control.

  2. Haga clic en Reloj, idioma y región.

  3. Haga clic en Configuración regional y de idioma.

  4. En la ficha Formatos, bajo Formato actual, haga clic en Personalizar este formato.

  5. Haga clic en la ficha Números y, a continuación, busque la entrada Separador de listas.

Windows XP

  1. Haga clic en Inicio y, a continuación, en Panel de control.

  2. Haga doble clic en Configuración regional y de idioma.

  3. En la ficha Regional, haga clic en Personalizar.

  4. Haga clic en la ficha Números y, a continuación, busque la entrada Separador de listas.

Ejemplo 3: Agregar puntos a las fórmulas de tratamiento o quitarlos

En algunos países, las fórmulas de tratamiento (como sr., sra., etc.) no incluyen puntos. En este ejemplo se muestra cómo añadir puntos o quitarlos a estos tratamientos. A partir de aquí, suponemos que sabe utilizar el cuadro de diálogo Buscar y reemplazar.

Esta expresión busca Mr, Ms, Mrs y Dr sin puntos:

<([DM][rs]{1,2})( )

Observe que la expresión utiliza un segundo bloque que contiene un espacio en blanco. Ese espacio sucederá, por lo general, a la fórmula de tratamiento si no hay un punto. Esta expresión añade el punto:

\1.\2

Para hacerlo a la inversa, realice una búsqueda utilizando esta expresión:

<([DM][rs]{1,2}).

Y reemplácela usando la siguiente:

\1

Ejemplo 4: Buscar párrafos o filas duplicados

Cuando utilice esta expresión, puede interesarle ordenar primero la lista para que las filas duplicadas aparezcan seguidas. Además, debe quitar todas las marcas de párrafo en blanco. En otras palabras, si utiliza párrafos en blanco para separar bloques de texto, como en:

Joshua Quentin Barnhill¶

Joshua Quentin Barnhill¶

Doris X. Hartwig¶

tendrá que quitar estos párrafos, como a continuación+:

Joshua Quentin Barnhill¶
Joshua Quentin Barnhill¶
Doris X. Hartwig¶

Puede utilizar el método que prefiera para quitar los párrafos en blanco, pero como estamos hablando de las expresiones regulares, a continuación le ofrecemos una que busca dos caracteres de párrafo consecutivos. Realice la búsqueda utilizando esta expresión (el carácter @ repite la operación buscar y reemplazar y quita todas las líneas vacías):

(^13)\1@

Reemplace los resultados con esta expresión:

^p

Ahora, busquemos formas de reemplazar el texto. Esta expresión busca cualquier secuencia de dos párrafos idénticos consecutivos:

(*^13)\1

Esta expresión también busca las repeticiones de texto más largas al final del párrafo. Por ejemplo, ejecute la expresión con la lista siguiente:

Joshua Quentin Barnhill¶
Doris X. Hartwig¶
Joshua Quentin Barnhill¶
Doris X. Hartwig¶
Tamara Y. Johnston¶

La operación de búsqueda busca las primeras cuatro líneas y se detiene únicamente cuando el patrón general cambia. Por el contrario, si ejecuta la expresión con esta lista:

Joshua Quentin Barnhill¶
Joshua Quentin Barnhill
Doris X. Hartwig¶
Doris X. Hartwig¶

La expresión busca únicamente los dos primeros párrafos. 

Para buscar un número mayor de elementos idénticos, añada más marcadores de posición. Por ejemplo, esta expresión busca tres párrafos idénticos consecutivos:

(*^13)\1\1

También puede utilizar llaves para hacer lo mismo. Los ejemplos siguientes buscan dos y tres párrafos idénticos, respectivamente:

(*^13){2}
(*^13){3}

O, puede buscar dos o tres párrafos idénticos:

(*^13){2,3}

También puede buscar dos o más párrafos idénticos:

(*^13){2,}

Puede reemplazar cualquiera de estas expresiones por la cadena siguiente:

\1

Además, puede repetir la operación de buscar y reemplazar según las necesidades para reemplazar todos los párrafos duplicados del documento o puede agregar el carácter comodín @ y hacer que la expresión repita la operación:

(*^13)\1@

También se utiliza este método para reemplazar las filas duplicadas de una tabla. Para ello, primero debe quitar las celdas combinadas y, a continuación, ordenar la tabla para colocar las celdas duplicadas seguidas. A continuación, convierta la tabla en texto. (En el menú Tabla, apunte a Convertir y, a continuación, haga clic en Tabla en texto; cuando se le pida, utilice el delimitador tabulación.) Después de reemplazar todos los elementos que necesite, convierta el texto de nuevo en tabla.

Más ejemplos

Si desea ver más ejemplos sobre cómo utilizar expresiones regulares en Word, consulte Buscar y reemplazar caracteres utilizando comodines en el sitio de P+F de MVP.

Acerca de los autores

En este artículo se combina contenidos creados anteriormente con la ayuda de Graham Mayor y Klaus Linke, antiguos Profesionales más valiosos (MVP) de Microsoft Word. Si desea más información sobre los MVP y el programa de MVP, consulte Sitio de MVP de Microsoft y MVPs.org.

Principio de página

Se aplica a: Word 2010



¿Le ha sido útil esta información?

No

¿Cómo podemos mejorarlo?

255 caracteres restantes

Para proteger su privacidad, no incluya información de contacto en sus comentarios. Revisar política de privacidad.

¡Gracias por sus comentarios!

Recursos de soporte técnico

Cambiar idioma