Zoeken en vervangen

U kunt gemakkelijk navigeren in uw document met behulp van een toetsenbord en muis, maar als u veel pagina’s om door te schuiven, zal het vrij lang duren om specifieke tekst te vinden in een lang document. Het zal tijdrovender zijn wanneer u bepaalde tekens of woorden wilt vervangen die u in uw document hebt gebruikt. Met de functionaliteit van de zoek- en vervangfunctie kunt u een reeks tekens in een document vinden en vervangen door een andere reeks tekens.

Aspose.Words kunt u een specifieke string of reguliere expressie patroon in uw document te vinden en te vervangen door een alternatief zonder het installeren en het gebruik van extra toepassingen zoals Microsoft Word. Dit zal veel typen en formatteren taken versnellen, mogelijk bespaart u uren werk.

Dit artikel legt uit hoe tekenreeksvervanging en reguliere expressies toe te passen met behulp van metakarakters.

Manieren om te vinden en te vervangen

Aspose.Words biedt twee manieren om de vondst toe te passen en te vervangen door gebruik te maken van:

  1. Eenvoudige tekenreeksvervanging Beide snaren mogen geen symbolen bevatten. Houd er rekening mee dat snaarvergelijking hoofdlettergevoelig kan zijn, of dat je niet zeker bent van spelling of meerdere soortgelijke spellingen hebt.
  2. Regular expressions Merk op dat een woord wordt gedefinieerd als bestaande uit alleen alfanumerieke tekens. Als een vervanging wordt uitgevoerd met alleen hele woorden die worden aangepast en de invoer string toevallig symbolen bevatten, dan zullen geen zinnen worden gevonden.

Ook kunt u speciale metakarakters gebruiken met eenvoudige tekenreeksvervanging en reguliere expressies om breuken binnen de zoek- en vervangoperatie te specificeren.

Aspose.Words presenteert de zoek en vervangen functionaliteit door de IReplacingCallBack. U kunt werken met vele opties tijdens het vinden en vervangen proces met behulp van FindReplaceOptions Klasse.

Tekst zoeken en vervangen met behulp van eenvoudige tekenreeksvervanging

U kunt een van de Replace methoden om een bepaalde string te vinden of te vervangen en het aantal vervangingen dat is gemaakt terug te geven. In dit geval kunt u een tekenreeks opgeven die vervangen moet worden, een tekenreeks die alle gebeurtenissen vervangt, of de vervanging hoofdlettergevoelig is, en of alleen stand-alone woorden beïnvloed zullen worden.

Het volgende voorbeeld van de code laat zien hoe je de string kunt vinden en vervangen door de string *

U kunt het verschil tussen het document opmerken voordat u eenvoudige tekenreeksvervanging toepast:

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

En na het toepassen van eenvoudige string vervanger:

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

Tekst zoeken en vervangen met reguliere expressies

Een reguliere expressie (regex) is een patroon dat een bepaalde volgorde van tekst beschrijft. Stel dat je alle dubbele gebeurtenissen van een woord wilt vervangen door één woord. Dan kunt u de volgende reguliere expressie toepassen om het dubbele-woord patroon op te geven: ([a-zA-Z]+) \1.

Gebruik de andere Replace methode om bepaalde tekenscombinaties te zoeken en te vervangen door de Regex parameter als het reguliere expressiepatroon om overeenkomsten te vinden.

Het volgende codevoorbeeld laat zien hoe tekenreeksen die overeenkomen met een reguliere expressiepatroon te vervangen door een gespecificeerde vervangende tekenreeks:

U kunt het verschil tussen het document merken voordat u tekenreeksvervanging toepast met reguliere expressies:

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

En na het toepassen van tekenreeksvervanging door reguliere expressies:

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

Tekenreeks zoeken en vervangen met metakarakters

U kunt metatekens in de zoekreeks of de vervangende tekenreeks gebruiken als een bepaalde tekst of zin bestaat uit meerdere paragrafen, secties of pagina’s. Enkele van de metakenmerken zijn &p voor een paragraafpauze, &b voor een sectiebreuk, &m voor een paginapauze, en &l voor een lijnbreuk.

Het volgende voorbeeld van code laat zien hoe tekst vervangen kan worden door paragraaf en pagina-breuk:

U kunt tekst vinden en vervangen in de header/voeter sectie van een Word-document met behulp van de HeaderFooter Klasse.

Het volgende voorbeeld van code laat zien hoe u de tekst van de koptekst in uw document kunt vervangen:

U kunt het verschil zien tussen het document voordat u header string vervanger:

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

En na het aanbrengen van header string vervanger:

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

Het codevoorbeeld om de tekst van de footer sectie in uw document te vervangen is zeer vergelijkbaar met het vorige header code voorbeeld. Je hoeft alleen de volgende twee regels te vervangen:

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

Met de volgende kenmerken:

U kunt het verschil tussen het document merken voordat u de tekst van de voettekst vervangt:

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

En na het aanbrengen van footer string vervanging:

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

Tekst negeren tijdens zoeken en vervangen

Bij het toepassen van de zoek- en vervangoperatie kunt u bepaalde segmenten van de tekst negeren. Dus, bepaalde delen van de tekst kunnen worden uitgesloten van de zoekopdracht, en de vondst en vervanging kan alleen worden toegepast op de resterende delen.

Aspose.Words biedt veel zoek-en vervangen eigenschappen voor het negeren van tekst zoals IgnoreDeleted, IgnoreFieldCodes, IgnoreFields, IgnoreFootnotes, en IgnoreInserted.

Het volgende voorbeeld van code laat zien hoe je tekst in de delete revisies negeert:

Operatie zoeken en vervangen aanpassen

Aspose.Words biedt veel verschillende properties tekst te vinden en te vervangen, zoals het toepassen van een specifiek formaat door ApplyFont en ApplyParagraphFormats eigenschappen, gebruik van substituties in vervangende patronen met UseSubstitutions eigendom, en anderen.

Het volgende voorbeeld van code laat zien hoe u een specifiek woord in uw document markeert:

Aspose.Words kunt u de IReplacingCallback interface om een aangepaste methode aan te maken en aan te roepen tijdens een vervangende bewerking. U kunt enkele use cases hebben waarin u de zoekopdracht moet aanpassen en de bewerking moet vervangen, zoals het vervangen van tekst door een reguliere expressie door HTML-tags, dus in principe zult u vervangen door het invoegen van HTML.

Als je een tekenreeks moet vervangen door een HTML-tag, moet je de IReplacingCallback interface om de zoek- en vervangoperatie aan te passen zodat de wedstrijd begint bij het begin van een run met de match-node van uw document. Laten we verschillende voorbeelden geven van het gebruik van IReplacingCallback.

Het volgende voorbeeld van code laat zien hoe je de tekst die is opgegeven met HTML kunt vervangen:

Het volgende voorbeeld van code laat zien hoe positieve getallen met groene kleur en negatieve getallen met rode kleur te markeren:

Het volgende voorbeeld van code laat zien hoe je een regelnummer aan elke regel voorschrijft: