Trouver et remplacer

Vous pouvez facilement naviguer dans votre document à l’aide d’un clavier et d’une souris, mais si vous avez beaucoup de pages à défiler, il faudra un certain temps pour trouver un texte spécifique dans un document long. Il vous faudra plus de temps pour remplacer certains caractères ou mots que vous avez utilisés dans votre document. La fonctionnalité “Trouver et remplacer” vous permet de trouver une séquence de caractères dans un document et de le remplacer par une autre séquence de caractères.

Aspose.Words vous permet de trouver une chaîne spécifique ou un motif d’expression régulière dans votre document et de le remplacer par une alternative sans installer et en utilisant des applications supplémentaires telles que Microsoft Word. Cela accélérera de nombreuses tâches de dactylographie et de formatage, ce qui vous permettra d’économiser des heures de travail.

Cet article explique comment appliquer le remplacement des chaînes et les expressions régulières avec le support des métacaractères.

Moyens de trouver et de remplacer

Aspose.Words fournit deux façons d’appliquer l’opération de recherche et de remplacement en utilisant ce qui suit:

  1. Simple remplacement de chaîne – pour trouver et remplacer une chaîne spécifique par une autre, vous devez spécifier une chaîne de recherche (caractères alphanumériques) qui va être remplacée en fonction de toutes les occurrences par une autre chaîne de remplacement spécifiée. Les deux chaînes ne doivent pas contenir de symboles. Prenez en compte que la comparaison de chaînes peut être sensible à la casse, ou vous pouvez ne pas être sûr de l’orthographe ou avoir plusieurs orthographes similaires.
  2. Expressions régulières – pour spécifier une expression régulière pour trouver la chaîne exacte et les remplacer selon votre expression régulière. Notez qu’un mot est défini comme étant composé uniquement de caractères alphanumériques. Si un remplacement est exécuté avec seulement des mots entiers en correspondance et que la chaîne d’entrée contient des symboles, aucune phrase ne sera trouvée.

En outre, vous pouvez utiliser des métacaractères spéciaux avec remplacement de chaînes simples et des expressions régulières pour spécifier les ruptures dans l’opération de recherche et de remplacement.

Aspose.Words présente la fonctionnalité de recherche et de remplacement avec le IReplacingCallBack. Vous pouvez travailler avec de nombreuses options pendant le processus trouver et remplacer en utilisant FindReplaceOptions En cours.

Trouver et remplacer le texte en utilisant le remplacement de chaînes simples

Vous pouvez utiliser l’un des Replace méthodes pour trouver ou remplacer une chaîne particulière et retourner le nombre de remplacements qui ont été faits. Dans ce cas, vous pouvez spécifier une chaîne à remplacer, une chaîne qui remplacera toutes ses occurrences, si le remplacement est sensible à la casse, et si seuls les mots autonomes seront affectés.

L’exemple de code suivant montre comment trouver la chaîne de caractères “_CustomerName” et le remplacer par la chaîne de caractères ““James Bond”:

Vous pouvez remarquer la différence entre le document avant d’appliquer un simple remplacement de chaîne:

before-simple-string-replacement-aspose-words-java

Et après avoir appliqué le remplacement simple de la chaîne:

after-simple-string-replacement-aspose-words-java

Trouver et remplacer le texte en utilisant des expressions régulières

Une expression régulière (regex) est un motif qui décrit une certaine séquence de texte. Supposons que vous vouliez remplacer toutes les doubles occurrences d’un mot par un seul mot. Ensuite, vous pouvez appliquer l’expression régulière suivante pour spécifier le motif double-mot: ([a-zA-Z]+) \1.

Utiliser l’autre Replace méthode de recherche et de remplacement de combinaisons de caractères particulières en définissant la Regex paramètre comme motif d’expression régulière pour trouver des correspondances.

L’exemple de code suivant montre comment remplacer des chaînes qui correspondent à un motif d’expression régulière avec une chaîne de remplacement spécifiée:

Vous pouvez remarquer la différence entre le document avant d’appliquer le remplacement de la chaîne par des expressions régulières:

before-replacement-with-regular-expressions-aspose-words-java

Et après avoir appliqué le remplacement de la chaîne par des expressions régulières:

after-replacement-with-regular-expressions-aspose-words-java

Trouver et remplacer les chaînes en utilisant des métacaractères

Vous pouvez utiliser des métacaractères dans la chaîne de recherche ou la chaîne de remplacement si un texte ou une phrase est composé de plusieurs paragraphes, sections ou pages. Certains des métacaractères incluent &p pour une pause de paragraphe, &b pour une pause de section, &m pour une pause page, et &l pour une rupture de ligne.

L’exemple de code suivant montre comment remplacer le texte par une pause de paragraphe et de page:

Vous pouvez trouver et remplacer le texte dans la section en-tête/pied de page d’un document Word en utilisant le HeaderFooter En cours.

L’exemple de code suivant montre comment remplacer le texte de la section en-tête de votre document:

Vous pouvez remarquer la différence entre le document avant d’appliquer le remplacement de la chaîne d’en-tête:

before-applying-header-string-replacement-aspose-words-java

Et après avoir appliqué le remplacement de la chaîne d’en-tête:

after-applying-header-string-replacement-aspose-words-java

L’exemple de code pour remplacer le texte de la section de pied de page de votre document est très similaire à l’exemple de code d’en-tête précédent. Il vous suffit de remplacer les deux lignes suivantes:

HeaderFooter header = headersFooters.get(HeaderFooterType.HEADER_PRIMARY);
header.getRange().replace("Aspose.Words", "Remove", options);

Avec les éléments suivants:

Vous pouvez remarquer la différence entre le document avant d’appliquer le remplacement de la chaîne de pied de page:

before-applying-footer-string-replacement-aspose-words-java

Et après avoir appliqué le remplacement de la corde:

after-applying-footer-string-replacement-aspose-words-java

Ignorer le texte pendant la recherche et le remplacement

En appliquant l’opération de recherche et de remplacement, vous pouvez ignorer certains segments du texte. Ainsi, certaines parties du texte peuvent être exclues de la recherche, et la recherche et le remplacement ne peuvent être appliqués qu’aux autres parties.

Aspose.Words fournit de nombreuses propriétés de trouver et de remplacer pour ignorer le texte comme IgnoreDeleted, IgnoreFieldCodes, IgnoreFields, IgnoreFootnotes, et IgnoreInserted.

L’exemple de code suivant montre comment ignorer le texte à l’intérieur des révisions de suppression:

Personnaliser l’opération Rechercher et remplacer

Aspose.Words offre beaucoup de différences properties trouver et remplacer le texte tel que l’application d’un format spécifique par ApplyFont et ApplyParagraphFormats propriétés, en utilisant des substitutions dans les modèles de remplacement avec UseSubstitutions propriété, et d’autres.

L’exemple de code suivant montre comment mettre en évidence un mot spécifique dans votre document:

Aspose.Words vous permet d’utiliser IReplacingCallback interface pour créer et appeler une méthode personnalisée pendant une opération de remplacement. Vous pouvez avoir quelques cas d’utilisation où vous devez personnaliser l’opération de recherche et de remplacement comme remplacer le texte spécifié par une expression régulière avec des balises HTML, donc fondamentalement vous appliquerez remplacer par insérer HTML.

Si vous devez remplacer une chaîne par une balise HTML, appliquez la IReplacingCallback interface pour personnaliser l’opération de recherche et de remplacement de sorte que le match commence au début d’une course avec le nœud de correspondance de votre document. Donnons plusieurs exemples d’utilisation IReplacingCallback.

L’exemple de code suivant montre comment remplacer le texte spécifié par HTML:

L’exemple de code suivant montre comment mettre en évidence des nombres positifs avec couleur verte et des nombres négatifs avec couleur rouge:

L’exemple de code suivant montre comment préparer un numéro de ligne à chaque ligne: