Zoeken en vervangen
U kunt gemakkelijk in uw document navigeren met behulp van een toetsenbord en muis, maar als u veel pagina’s om door te scrollen, zal het een tijdje 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 te vinden in uw document 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 het volgende:
- Simple string replacement Beide tekenreeksen mogen geen symbolen bevatten. Houd er rekening mee dat stringvergelijking hoofdlettergevoelig kan zijn, of dat je niet zeker bent van spelling of meerdere soortgelijke spellingen hebt.
- Regular expressions Merk op dat een woord wordt gedefinieerd als bestaande uit alleen alfanumerieke tekens. Als vervanging wordt uitgevoerd met alleen hele woorden worden aangepast en de invoer string toevallig symbolen bevatten, dan zullen geen zinnen worden gevonden.
Daarnaast 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 Aspose.Words.Replacing naamruimte. 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 terug te geven die werden gemaakt. 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 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:
En na het toepassen van eenvoudige string vervanger:
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 specifieke tekenscombinaties te zoeken en te vervangen door de Regex
parameter als het reguliere expressiepatroon om overeenkomsten te vinden.
Het volgende voorbeeld van code laat zien hoe tekenreeksen die overeenkomen met een reguliere expressiepatroon te vervangen door een gespecificeerde vervangende tekenreeks:
U kunt het verschil tussen het document opmerken voordat u tekenreeksvervanging toepast met reguliere expressies:
En na het toepassen van string vervanger met reguliere expressies:
String zoeken en vervangen met metakarakters
U kunt metakarakters gebruiken in de zoektekst of de vervangende tekenreeks als een bepaalde tekst of zin bestaat uit meerdere paragrafen, secties of pagina’s. Enkele van de metakenmerken zijn &p voor een alineapauze, &b voor een sectiebreuk, &m voor een paginapauze, en &l voor een lijnbreuk.
Het volgende voorbeeld van code laat zien hoe tekst te vervangen door paragraaf en pagina-uitbraak:
Tekst zoeken en vervangen in kop/voet van een document
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:
En na het aanbrengen van header string vervanger:
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[HeaderFooterType.HeaderPrimary];
header.Range.Replace("Aspose.Words", "Remove", options);
Met de volgende kenmerken:
HeaderFooter footer = headersFooters[HeaderFooterType.FooterPrimary];
int currentYear = System.DateTime.Now.Year;
footer.Range.Replace("(C) 2006 Aspose Pty Ltd.", $"Copyright (C) {currentYear} by Aspose Pty Ltd.", options);
U kunt het verschil tussen het document merken voordat u de tekst van de voettekst vervangt:
En na het toepassen van footer string vervanging:
Tekst negeren tijdens zoeken en vervangen
Tijdens 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 moet negeren:
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 kunt markeren:
Aspose.Words kunt u gebruiken IReplacingCallback interface om een aangepaste methode te maken en aan te roepen tijdens een vervangende bewerking. U kunt enkele use cases hebben waar 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 aan het begin van een run met de matchknop van uw document. Laten we verschillende voorbeelden geven van het gebruik IReplacingCallback.
Het volgende voorbeeld van code laat zien hoe u 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: