Zoeken en vervangen
U kunt gemakkelijk navigeren binnen uw document met behulp van een toetsenbord en muis, maar als u veel pagina ' s hebt om door te scrollen, zal het een tijdje duren om specifieke tekst in een lang document te vinden. Het kost meer tijd wanneer u bepaalde tekens of woorden die u in uw document hebt gebruikt, wilt vervangen. Met de functie “Zoeken en vervangen” kunt u een reeks tekens in een document vinden en deze vervangen door een andere reeks tekens.
Met Aspose.Words kunt u een specifieke tekenreeks of reguliere expressiepatroon in uw document vinden en vervangen door een alternatief zonder extra toepassingen zoals Microsoft Word te installeren en te gebruiken. Dit zal veel typen en formatteren taken versnellen, waardoor u mogelijk uren werk bespaart.
In dit artikel wordt uitgelegd hoe u string replacement en reguliere expressies kunt toepassen met de ondersteuning van metacharacters.
Manieren om {#ways-to-find-and-replace}te vinden en te vervangen
Aspose.Words biedt twee manieren om de bewerking zoeken en vervangen toe te passen met behulp van de volgende:
- Simple string replacement – om een specifieke tekenreeks te vinden en te vervangen door een andere, moet u een zoekreeks (alfanumerieke tekens) opgeven die volgens alle voorvallen zal worden vervangen door een andere opgegeven vervangende tekenreeks. Beide strings mogen geen symbolen bevatten. Houd er rekening mee dat stringvergelijking hoofdlettergevoelig kan zijn, of dat u misschien niet zeker bent van de spelling of verschillende vergelijkbare spellingen hebt.
- Regular expressions – om een reguliere expressie op te geven om de exacte overeenkomende tekenreeks te vinden en deze te vervangen volgens uw reguliere expressie. Merk op dat een woord wordt gedefinieerd als een woord dat alleen uit alfanumerieke tekens bestaat. Als een vervanging wordt uitgevoerd met alleen hele woorden die overeenkomen en de invoerreeks toevallig symbolen bevat, worden er geen zinnen gevonden.
Daarnaast kunt u speciale metacharacters met eenvoudige string vervanging en reguliere expressies gebruiken om pauzes binnen de Zoeken en vervangen bewerking op te geven.
Aspose.Words geeft de functie Zoeken en vervangen weer met de Aspose.Words.Replacing naamruimte. U kunt met veel opties werken tijdens het proces zoeken en vervangen met behulp van FindReplaceOptions Klasse.
Tekst zoeken en vervangen met eenvoudige Tekenreeksvervanging
U kunt een van de methoden Replace gebruiken om een bepaalde tekenreeks te zoeken of te vervangen en het aantal vervangingen terug te geven dat is gemaakt. In dit geval kunt u een tekenreeks opgeven die moet worden vervangen, een tekenreeks die alle voorvallen vervangt, of de vervanging hoofdlettergevoelig is en of alleen zelfstandige woorden worden beïnvloed.
Het volgende codevoorbeeld laat zien hoe u de tekenreeks “CustomerName” kunt vinden en deze kunt vervangen door de tekenreeks “James Bond”:
U kunt het verschil tussen het document opmerken voordat u eenvoudige tekenreeksvervanging toepast:
En na het toepassen van eenvoudige string vervanging:
Tekst zoeken en vervangen met reguliere expressies
Een reguliere expressie (regex) is een patroon dat een bepaalde volgorde van tekst beschrijft. Stel dat u alle dubbele voorkomen van een woord wilt vervangen door een enkel woord voorkomen. Vervolgens kunt u de volgende reguliere expressie toepassen om het dubbele woordpatroon op te geven: ([a-zA-Z]+) \1
.
Gebruik de andere Replace methode om bepaalde tekencombinaties te zoeken en te vervangen door de Regex
parameter in te stellen als het reguliere expressiepatroon om overeenkomsten te vinden.
Het volgende codevoorbeeld laat zien hoe tekenreeksen die overeenkomen met een reguliere expressiepatroon kunnen worden vervangen door een opgegeven vervangende tekenreeks:
U kunt het verschil tussen het document opmerken voordat u tekenreeksvervanging toepast met reguliere expressies:
En na het toepassen van string vervanging met reguliere expressies:
Tekenreeks zoeken en vervangen met Metacharacters
U kunt metacharacters in de zoekreeks of de vervangende tekenreeks gebruiken als een bepaalde tekst of zin uit meerdere alinea ’s, secties of pagina' s bestaat. Enkele van de metacharacters zijn &p voor een alinea-einde, &b voor een sectie-einde, &m voor een pagina-einde en &l voor een regeleinde.
Het volgende codevoorbeeld laat zien hoe u tekst kunt vervangen door alinea-en pagina-einde:
Tekenreeks zoeken en vervangen in kop - / voettekst van een Document
U kunt tekst zoeken en vervangen in de kop - /voettekstsectie van een Word - document met behulp van de HeaderFooter - Klasse.
Het volgende codevoorbeeld laat zien hoe u de tekst van de koptekst in uw document kunt vervangen:
U kunt het verschil tussen het document opmerken voordat u header string replacement toepast:
En na het toepassen van header string vervanging:
Het codevoorbeeld om de tekst van de voettekstsectie in uw document te vervangen, lijkt erg op het vorige voorbeeld van de koptekst. Het enige wat u hoeft te doen is de volgende twee regels vervangen:
auto header = headersFooters->idx_get(HeaderFooterType::HeaderPrimary);
header->get_Range()->Replace(u"Aspose.Words", u"Remove", options);
Met de volgende:
auto footer = headersFooters->idx_get(HeaderFooterType::FooterPrimary);
footer->get_Range()->Replace(u"(C) 2006 Aspose Pty Ltd.", u"Copyright (C) Aspose Pty Ltd.", options);
U kunt het verschil tussen het document opmerken voordat u voettekstvervanging toepast:
En na het toepassen van voettekst vervanging:
Tekst negeren tijdens zoeken en vervangen van
Wanneer u de bewerking zoeken en vervangen toepast, kunt u bepaalde segmenten van de tekst negeren. Bepaalde delen van de tekst kunnen dus worden uitgesloten van het zoeken en het zoeken en vervangen kan alleen worden toegepast op de resterende delen.
Aspose.Words biedt veel Zoek en vervang eigenschappen voor het negeren van tekst zoals IgnoreDeleted, IgnoreFieldCodes, IgnoreFields, IgnoreFootnotes, en IgnoreInserted.
Het volgende codevoorbeeld laat zien hoe u tekst in revisies kunt negeren:
Bewerking {#customize-find-and-replace-operation}zoeken en vervangen aanpassen
Aspose.Words biedt veel verschillende properties om tekst te vinden en te vervangen, zoals het toepassen van specifieke opmaak met ApplyFont en ApplyParagraphFormats eigenschappen, het gebruik van substituties in Vervangende patronen met UseSubstitutions eigenschap, en anderen.
Het volgende codevoorbeeld laat zien hoe u een specifiek woord in uw document kunt markeren:
Met Aspose.Words kunt u de IReplacingCallback - interface gebruiken om een aangepaste methode te maken en aan te roepen tijdens een vervangbewerking. Er kunnen enkele use cases zijn waarin u de Zoek-en vervang-bewerking moet aanpassen, zoals het vervangen van tekst die is opgegeven door een reguliere expressie met HTML - tags, dus in principe zult u vervangen toepassen door HTML in te voegen.
Als u een tekenreeks moet vervangen door een HTML - tag, past u de IReplacingCallback - interface toe om de bewerking zoeken en vervangen aan te passen, zodat de overeenkomst begint aan het begin van een run met het overeenkomstknooppunt van uw document. Laten we enkele voorbeelden geven van het gebruik van IReplacingCallback.
Het volgende codevoorbeeld laat zien hoe u de opgegeven tekst kunt vervangen door HTML:
Het volgende codevoorbeeld laat zien hoe u positieve getallen met groene kleur en negatieve getallen met rode kleur kunt markeren:
Het volgende codevoorbeeld laat zien hoe een regelnummer aan elke regel kan worden toegevoegd: