Encontrar y reemplazar
Puede navegar fácilmente dentro de su documento usando un teclado y un ratón, pero si tiene muchas páginas para desplazarse, tardará bastante tiempo en encontrar texto específico en un documento largo. Será más tiempo consumir cuando desee reemplazar ciertos caracteres o palabras que haya usado en su documento. La funcionalidad “Encontrar y reemplazar” le permite encontrar una secuencia de caracteres en un documento y reemplazarlo con otra secuencia de caracteres.
Aspose.Words le permite encontrar un patrón específico de cadena o expresión regular en su documento y reemplazarlo con una alternativa sin instalar y utilizar aplicaciones adicionales como Microsoft Word. Esto acelerará muchas tareas de escribir y formatear, potencialmente ahorrando horas de trabajo.
Este artículo explica cómo aplicar la sustitución de cadenas y expresiones regulares con el apoyo de los metacaractores.
Formas de encontrar y reemplazar
Aspose.Words proporciona dos maneras de aplicar el hallazgo y reemplazar la operación utilizando los siguientes:
- Sustitución simple de cadena – para encontrar y reemplazar una cadena específica con otra, usted necesita especificar una cadena de búsqueda ( caracteres alfanuméricos) que va a ser reemplazada según todas las ocurrencias con otra cadena de reemplazo especificada. Ambas cadenas no deben contener símbolos. Tenga en cuenta que la comparación de cadenas puede ser sensible a los casos, o puede no estar seguro de la ortografía o tener varias ortografías similares.
- Expresiones regulares – para especificar una expresión regular para encontrar los partidos de cadena exacta y reemplazarlos según su expresión regular. Tenga en cuenta que una palabra se define como estar compuesta de sólo caracteres alfanuméricos. Si un reemplazo se ejecuta con sólo palabras enteras que se combinan y la cadena de entrada pasa a contener símbolos, entonces no se encontrará ninguna frase.
Además, puede utilizar metacaracters especiales con simple sustitución de cadenas y expresiones regulares para especificar rupturas dentro del hallazgo y reemplazar la operación.
Aspose.Words presenta el hallazgo y reemplazar funcionalidad con el IReplacingCallBack. Puede trabajar con muchas opciones durante el proceso de búsqueda y sustitución utilizando FindReplaceOptions clase.
Encontrar y reemplazar texto usando el reemplazo de cuerda simple
Puedes usar uno de los Replace métodos para encontrar o reemplazar una cadena particular y devolver el número de reemplazos que se hicieron. En este caso, se puede especificar una cadena que se reemplazará, una cadena que reemplazará todas sus ocurrencias, si el reemplazo es sensible a los casos, y si sólo las palabras independientes serán afectadas.
El siguiente ejemplo de código muestra cómo encontrar la cadena “CustomerName” y reemplazarla con la cadena * “James Bond”*:
Puede notar la diferencia entre el documento antes de aplicar el reemplazo simple de cadena:
![before-simple-string-replacement-aspose-words-java](/words/java/find-and-replace/before-simple-string-replacement.png)
Y después de aplicar el reemplazo de cuerda simple:
![after-simple-string-replacement-aspose-words-java](/words/java/find-and-replace/after-simple-string-replacement.png)
Encontrar y reemplazar texto usando expresiones regulares
Una expresión regular (regex) es un patrón que describe una cierta secuencia de texto. Supongamos que desea reemplazar todas las ocurrencias dobles de una palabra con una sola palabra ocurrencia. Luego puede aplicar la siguiente expresión regular para especificar el patrón de doble palabra: ([a-zA-Z]+) \1
.
Use el otro Replace método para buscar y reemplazar combinaciones de caracteres particulares mediante el establecimiento de la Regex
parámetro como el patrón de expresión regular para encontrar coincidencias.
El siguiente ejemplo de código muestra cómo reemplazar las cadenas que coinciden con un patrón de expresión regular con una cadena de reemplazo especificada:
Puede notar la diferencia entre el documento antes de aplicar el reemplazo de cadena con expresiones regulares:
![before-replacement-with-regular-expressions-aspose-words-java](/words/java/find-and-replace/before-replacement-with-regular-expressions.png)
Y después de aplicar el reemplazo de cadena con expresiones regulares:
![after-replacement-with-regular-expressions-aspose-words-java](/words/java/find-and-replace/after-replacement-with-regular-expressions.png)
Encontrar y reemplazar la cuerda usando metacaracters
Usted puede utilizar metacaracters en la cadena de búsqueda o la cadena de reemplazo si un texto o frase en particular se compone de múltiples párrafos, secciones o páginas. Algunos de los metacaractores incluyen &p para una interrupción del párrafo, &b para un descanso de sección, &m para un descanso de página, y &l para un descanso.
El siguiente ejemplo de código muestra cómo reemplazar el texto con el párrafo y la rotura de página:
Encontrar y reemplazar la cuerda en Header/Footer de un documento
Usted puede encontrar y reemplazar texto en la sección de encabezado/pierna de un documento de Word utilizando el HeaderFooter clase.
El siguiente ejemplo de código muestra cómo reemplazar el texto de la sección encabezado en su documento:
Puede notar la diferencia entre el documento antes de aplicar el reemplazo de cadena de encabezado:
![before-applying-header-string-replacement-aspose-words-java](/words/java/find-and-replace/before-applying-header-string-replacement.png)
Y después de aplicar el reemplazo de cadena de encabezado:
![after-applying-header-string-replacement-aspose-words-java](/words/java/find-and-replace/after-applying-header-string-replacement.png)
El ejemplo de código para reemplazar el texto de la sección del pie de página en su documento es muy similar al ejemplo anterior del código del encabezado. Todo lo que necesitas hacer es reemplazar las dos líneas siguientes:
HeaderFooter header = headersFooters.get(HeaderFooterType.HEADER_PRIMARY);
header.getRange().replace("Aspose.Words", "Remove", options);
Con lo siguiente:
Puede notar la diferencia entre el documento antes de aplicar el reemplazo de cadena de pieer:
![before-applying-footer-string-replacement-aspose-words-java](/words/java/find-and-replace/before-applying-footer-string-replacement.png)
Y después de aplicar el reemplazo de cadena de pieer:
![after-applying-footer-string-replacement-aspose-words-java](/words/java/find-and-replace/after-applying-footer-string-replacement.png)
Ignorar texto durante la búsqueda y sustitución
Al aplicar el hallazgo y reemplazar la operación, puede ignorar ciertos segmentos del texto. Por lo tanto, algunas partes del texto pueden ser excluidas de la búsqueda, y el hallazgo y el reemplazo se pueden aplicar sólo a las partes restantes.
Aspose.Words proporciona a muchos encontrar y reemplazar propiedades para ignorar texto como IgnoreDeleted, IgnoreFieldCodes, IgnoreFields, IgnoreFootnotes, y IgnoreInserted.
El siguiente ejemplo de código muestra cómo ignorar el texto dentro de borra revisiones:
Personalizar búsqueda y sustitución de operaciones
Aspose.Words proporciona muchos diferentes properties para encontrar y reemplazar texto como la aplicación de formato específico ApplyFont y ApplyParagraphFormats propiedades, utilizando sustituciones en patrones de sustitución UseSubstitutions propiedad, y otros.
El siguiente ejemplo de código muestra cómo resaltar una palabra específica en su documento:
Aspose.Words permite utilizar el IReplacingCallback interfaz para crear y llamar un método personalizado durante una operación de sustitución. Usted puede tener algunos casos de uso donde usted necesita para personalizar el hallazgo y reemplazar la operación, como reemplazar el texto especificado por una expresión regular con etiquetas HTML, por lo que básicamente se aplicará sustitución por insertar HTML.
Si necesita reemplazar una cadena con una etiqueta HTML, aplique la IReplacingCallback interfaz para personalizar el funcionamiento del hallazgo y reemplazar para que el partido comience al comienzo de una carrera con el nodo del partido de su documento. Proporcionemos varios ejemplos de uso IReplacingCallback.
El siguiente ejemplo de código muestra cómo reemplazar el texto especificado por HTML:
El siguiente ejemplo de código muestra cómo resaltar números positivos con color verde y números negativos con color rojo:
El siguiente ejemplo de código muestra cómo prependir un número de línea a cada línea: