Buscar y reemplazar es una función útil proporcionada por MS Word que le permite actualizar todas las apariciones de un texto en particular a la vez. Por lo tanto, no tiene que buscar y reemplazar manualmente el texto en todo el documento. En este artículo, aprenderá a buscar y reemplazar texto en documentos de Word desde aplicaciones C++. Esto podría ser útil cuando necesite reemplazar un texto en particular en varios documentos de una sola vez.
- API de C++ para buscar y reemplazar texto
- Buscar y reemplazar texto en documentos de Word
- Usar expresiones regulares para buscar y reemplazar texto
- Reemplazar texto usando metacaracteres
- Ignorar texto durante la operación Buscar y reemplazar
- Obtenga una licencia gratis
API de C++ para buscar y reemplazar texto
Aspose.Words for C++ es una biblioteca de C++ para crear nuevos documentos de Word y manipularlos. La API es compatible con una amplia gama de funciones básicas y avanzadas de automatización de Word. Puede descargar el paquete API o instalarlo mediante NuGet.
Install-Package Aspose.Words.Cpp
Buscar y reemplazar texto en documentos de Word usando C++
Los siguientes son los pasos para buscar y reemplazar texto en documentos de Word usando Aspose.Words for C++.
- Cargue el documento de Word usando la clase Document.
- Reemplace la palabra deseada usando Documento->getRange()->Replace(u"triste", u"malo", System::MakeObject ) método.
- Guarde el documento de Word actualizado usando el método Document->Save(String).
El siguiente ejemplo de código muestra cómo buscar y reemplazar la palabra “triste” por “malo” en un documento de Word usando C++.
// Cargar documento de MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");
// Buscar y reemplazar el texto
doc->get_Range()->Replace(u"sad", u"bad", System::MakeObject<FindReplaceOptions>(FindReplaceDirection::Forward));
// Guardar el documento actualizado
doc->Save(u"updated.doc");
Buscar y reemplazar texto usando expresiones regulares
También puede definir las expresiones regulares para buscar y reemplazar las palabras que siguen un patrón particular. Por ejemplo, puede reemplazar las palabras “triste” y “enojado” con la palabra “malo”. Los siguientes son los pasos para buscar y reemplazar palabras que coincidan con una expresión regular en un documento de Word.
- Cargue el documento de Word usando la clase Document.
- Utilice la clase Regex para definir la expresión regular.
- Reemplace la palabra deseada usando Documento->getRange()->Replace(System::MakeObjectSystem::Text::RegularExpressions::Regex , u"malo", opciones) método.
- Guarde el documento de Word actualizado usando el método Document->Save(String).
El siguiente ejemplo de código muestra cómo buscar y reemplazar texto mediante expresiones regulares en C++.
// Cargar documento de MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");
// Crear opciones de buscar y reemplazar
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();
// Buscar y reemplazar el texto
doc->get_Range()->Replace(System::MakeObject<System::Text::RegularExpressions::Regex>(u"[s|m]ad"), u"bad", options);
// Guardar el documento actualizado
doc->Save(u"updated.doc");
Buscar y reemplazar texto usando metacaracteres
En ciertos casos, el texto que desea reemplazar podría incluir saltos, es decir, salto de línea, salto de párrafo, salto de sección, etc. Para hacer frente a tales escenarios, Aspose.Words for C++ admite los siguientes metacaracteres en las cadenas de búsqueda y reemplazo .
- &p para un salto de párrafo
- &b para salto de sección
- &m para salto de página
- &l para un salto de línea manual
El siguiente ejemplo de código muestra cómo buscar y reemplazar texto usando metacaracteres en un documento de Word.
// Cargar documento de MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");
// Crear opciones de buscar y reemplazar
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();
// Buscar y reemplazar el texto
doc->get_Range()->Replace(u"This is Line 1&pThis is Line 2", u"This is replaced line", options);
doc->get_Range()->Replace(u"This is Line 1&mThis is Line 2", u"Page break is replaced with new text.", options);
// Guardar el documento actualizado
doc->Save(u"updated.doc");
Ignorar texto durante la operación Buscar y reemplazar
Aspose.Words for C++ también le permite ignorar el texto dentro de los campos y las revisiones durante la operación de búsqueda y reemplazo. La clase FindReplaceOptions le permite especificar las opciones para agregar esta personalización. La clase FindReplaceOptions proporciona los siguientes métodos para ignorar texto en diferentes escenarios:
- setIgnorarCampos(bool) - Ignores text inside the fields
- setIgnoreDeleted(bool) - Ignores text inside the delete revisions
- setIgnorarInsertado(bool) - Ignores text inside the insert revisions
El siguiente ejemplo de código muestra cómo ignorar el texto en cada uno de los escenarios mencionados anteriormente.
// Cargar documento de MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");
// Crear opciones de buscar y reemplazar
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();
// Reemplace 'e' en el documento ignorando el texto dentro del campo
options->set_IgnoreFields(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);
// Reemplace 'e' en el documento ignorando el texto eliminado
options->set_IgnoreDeleted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);
// Reemplace 'e' en el documento ignorando el texto insertado
options->set_IgnoreInserted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);
// Guardar el documento actualizado
doc->Save(u"updated.doc");
Obtenga una licencia gratis
Puede obtener una licencia temporal gratuita para probar la API sin limitaciones de evaluación.
Conclusión
En este artículo, ha visto cómo buscar y reemplazar texto en documentos de Word usando C++. La guía paso a paso y los ejemplos de código han mostrado cómo personalizar la característica de buscar y reemplazar en diferentes escenarios. Puede explorar más sobre la API de automatización de Word de C++ usando documentación.