Buscar y Reemplazar
Puede navegar fácilmente dentro de su documento usando un teclado y un mouse, pero si tiene muchas páginas por las que desplazarse, le llevará bastante tiempo encontrar texto específico en un documento largo. Llevará más tiempo cuando desee reemplazar ciertos caracteres o palabras que ha utilizado en su documento. La funcionalidad “Buscar y reemplazar” le permite buscar una secuencia de caracteres en un documento y reemplazarla con otra secuencia de caracteres.
Aspose.Words le permite encontrar una cadena específica o un patrón de expresión regular en su documento y reemplazarlo con una alternativa sin instalar y usar aplicaciones adicionales como Microsoft Word. Esto acelerará muchas tareas de escritura y formato, lo que podría ahorrarle horas de trabajo.
Este artículo explica cómo aplicar reemplazo de cadenas y expresiones regulares con el soporte de metacaracteres.
Formas de Buscar y reemplazar
Aspose.Words proporciona dos formas de aplicar la operación de búsqueda y reemplazo mediante lo siguiente:
- Simple string replacement - para buscar y reemplazar una cadena específica con otra, debe especificar una cadena de búsqueda (caracteres alfanuméricos) que se reemplazará de acuerdo con 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 distinguir entre mayúsculas y minúsculas, o puede no estar seguro de la ortografía o tener varias ortografías similares.
- Regular expressions: para especificar una expresión regular para encontrar las coincidencias exactas de la cadena y reemplazarlas de acuerdo con su expresión regular. Tenga en cuenta que una palabra se define como compuesta solo de caracteres alfanuméricos. Si se ejecuta un reemplazo con solo palabras completas que coinciden y la cadena de entrada contiene símbolos, entonces no se encontrarán frases.
Además, puede usar metacaracteres especiales con reemplazo simple de cadenas y expresiones regulares para especificar saltos dentro de la operación de búsqueda y reemplazo.
Aspose.Words presenta la funcionalidad de buscar y reemplazar con el espacio de nombres Aspose.Words.Replacing. Puede trabajar con muchas opciones durante el proceso de búsqueda y reemplazo utilizando la clase FindReplaceOptions.
Busque y Reemplace Texto Usando Reemplazo Simple de Cadena
Puede usar uno de los métodos Replace para buscar o reemplazar una cadena en particular y devolver el número de reemplazos que se realizaron. En este caso, puede especificar una cadena que se reemplazará, una cadena que reemplazará todas sus apariciones, si la sustitución distingue entre mayúsculas y minúsculas y si solo se verán afectadas las palabras independientes.
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 cadenas:
Y después de aplicar un simple reemplazo de cuerdas:
Buscar y Reemplazar Texto Usando Expresiones Regulares
Una expresión regular (regex) es un patrón que describe una determinada secuencia de texto. Supongamos que desea reemplazar todas las apariciones dobles de una palabra con una sola aparición de palabra. Luego puede aplicar la siguiente expresión regular para especificar el patrón de doble palabra: ([a-zA-Z]+) \1
.
Utilice el otro método Replace para buscar y reemplazar combinaciones de caracteres particulares estableciendo el parámetro Regex
como patrón de expresión regular para encontrar coincidencias.
El siguiente ejemplo de código muestra cómo reemplazar 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 cadenas con expresiones regulares:
Y después de aplicar el reemplazo de cadenas con expresiones regulares:
Buscar y reemplazar Cadenas usando Metacaracteres
Puede usar metacaracteres en la cadena de búsqueda o en la cadena de reemplazo si un texto o frase en particular está compuesto por varios párrafos, secciones o páginas. Algunos de los metacaracteres incluyen &p para un salto de párrafo, &b para un salto de sección, &m para un salto de página y &l para un salto de línea.
El siguiente ejemplo de código muestra cómo reemplazar texto con párrafo y salto de página:
Buscar y reemplazar Cadenas en el Encabezado / Pie de página de un Documento
Puede buscar y reemplazar texto en la sección encabezado/pie de página de un documento de Word utilizando la clase HeaderFooter.
El siguiente ejemplo de código muestra cómo reemplazar el texto de la sección del encabezado en su documento:
Puede notar la diferencia entre el documento antes de aplicar el reemplazo de la cadena de encabezado:
Y después de aplicar el reemplazo de la cadena de encabezado:
El ejemplo de código para reemplazar el texto de la sección de pie de página en su documento es muy similar al ejemplo de código de encabezado anterior. Todo lo que necesita hacer es reemplazar las siguientes dos líneas:
auto header = headersFooters->idx_get(HeaderFooterType::HeaderPrimary);
header->get_Range()->Replace(u"Aspose.Words", u"Remove", options);
Con lo siguiente:
auto footer = headersFooters->idx_get(HeaderFooterType::FooterPrimary);
footer->get_Range()->Replace(u"(C) 2006 Aspose Pty Ltd.", u"Copyright (C) Aspose Pty Ltd.", options);
Puede notar la diferencia entre el documento antes de aplicar el reemplazo de la cadena del pie de página:
Y después de aplicar el reemplazo de la cadena del pie de página:
Ignorar texto Durante Buscar y reemplazar
Al aplicar la operación de buscar y reemplazar, puede ignorar ciertos segmentos del texto. Por lo tanto, ciertas partes del texto se pueden excluir de la búsqueda, y la búsqueda y reemplazo se puede aplicar solo a las partes restantes.
Aspose.Words proporciona muchas propiedades de búsqueda y reemplazo para ignorar texto, como IgnoreDeleted, IgnoreFieldCodes, IgnoreFields, IgnoreFootnotes, y IgnoreInserted.
El siguiente ejemplo de código muestra cómo ignorar texto dentro de eliminar revisiones:
Personalizar la Operación de Búsqueda y reemplazo
Aspose.Words proporciona muchos properties diferentes para buscar y reemplazar texto, como aplicar un formato específico con las propiedades ApplyFont y ApplyParagraphFormats, usar sustituciones en patrones de reemplazo con la propiedad UseSubstitutions y otros.
El siguiente ejemplo de código muestra cómo resaltar una palabra específica en su documento:
Aspose.Words le permite usar la interfaz IReplacingCallback para crear y llamar a un método personalizado durante una operación de reemplazo. Es posible que tenga algunos casos de uso en los que necesite personalizar la operación de búsqueda y reemplazo, como reemplazar el texto especificado con una expresión regular con etiquetas HTML, por lo que básicamente aplicará reemplazar con insertar HTML.
Si necesita reemplazar una cadena con una etiqueta HTML, aplique la interfaz IReplacingCallback para personalizar la operación de búsqueda y reemplazo de modo que la coincidencia comience al comienzo de una ejecución con el nodo de coincidencia de su documento. Proporcionemos varios ejemplos del uso de IReplacingCallback.
El siguiente ejemplo de código muestra cómo reemplazar el texto especificado con 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 anteponer un número de línea a cada línea: