Geavanceerd zoeken/vervangen in Word

Het overkomt iedereen wel eens: bij het intikken van het zoveelste woordje ‘XYZ’ in een ellenlange tekst tot het besef komen dat ‘ABC’ eigenlijk toch beter is. De zoek- en vervangfunctie is dan onmisbaar, en garandeert dat geen enkele ‘XYZ’ over het hoofd gezien wordt. Voor sommige spitsvondige zoeksituaties zijn de oplossingen echter goed weggestopt of vergen ze een zachte vorm van gebruiksvirtuositeit. En dan komt deze Expertcursus goed van pas!

Dit artikel bestaat uit twee pagina’s:

Pagina 1 (huidige pagina)

- Via het menu of het toetsenbord

- Jokertekens

- Speciale situaties

- Van jokertekens naar reguliere expressies

Pagina 2

- Zoeken en vervangen van opmaak

- Superscripts

- Tekst vervangen

- Zoek/vervang als telraam

Via het menu of het toetsenbord

Zowel de zoek- als de vervangfunctie in Microsoft Word 2007 is beschikbaar onder de knop Bewerken van het tabblad Start op het lint (in Word 2003 gaat u naar het menu Bewerken). In beide Word-versies is de zoek/vervangfunctie vlotter op te roepen met deze sneltoetsen: Ctrl+F om te zoeken, Ctrl+H om te vervangen. Geen nood als u deze door elkaar haalt: telkens wordt hetzelfde dialoogvenster getoond, maar met een ander actief tabblad. Eén extra klik volstaat dus om het juiste te selecteren.

© PXimport

Naargelang de lengte van het lint verandert de knop die toegang verleent tot de zoekfunctie.

Jokertekens

Bij zowel een zoek als een vervangbewerking kunt u zogenoemde jokertekens gebruiken in het vakje Zoeken naar. Dat u dit van plan bent, dient u eerst aan te geven met het gelijknamige selectievakje onder de zoekopties, verborgen achter de knop Meer >>. Vanaf dan zal het intikken van ?ultuur zowel ‘cultuur’ als ‘kultuur’ opleveren. Zoeken naar < ?ultuur vindt wel het losse woordje ‘cultuur’, maar slaat dan weer ‘jeugdcultuur’ over. Het opzoeken van k[ia]st vindt ‘kist’ en ‘kast’, maar slaat ‘kust’ of ‘kost’ over. Met k[!a-n]st is het andersom: ‘kast’ en ‘kist’ worden niet gevonden, want de ‘a’ en de ‘i’ behoren tot de reeks ‘a-n’, een reeks uitgesloten door het voorafgaande uitroepteken. Willen we ‘serie 1’, ‘serie 2’ tot en met ‘serie 5’ vinden, maar zijn we niet geïnteresseerd in ‘serie 6’ en volgende, probeer dan eens met serie [1-5] in het zoekvakje. Enige voorzorg bij beide technieken: de tekenreeksen tussen de rechte blokhaken moeten oplopend staan. Probeer dus niet te zoeken naar serie [5-1] want dit levert slechts de foutmelding “ongeldig bereik” op. Nog een voorbeeld: zoeken naar 10{1,2}> vindt ‘10’ en ‘100’, maar niet ‘1000’ en verder. Vergeet dan niét achteraan het groterdan-jokerteken (>), anders wordt 1000 toch gevonden op basis van zijn eerste drie cijfers.

© PXimport

© PXimport

Wanneer jokertekens?

De meeste escapecodes hebben geen effect als de optie Jokertekens gebruiken aangekruist staat. Bij de vaak gebruikte alineamarkering (^p) is dat het geval. Andere codes eisen juist weer dat die optie wel geactiveerd is: zo zoekt u met ^m zowel naar handmatige pagina-eindes als naar sectie-einden. Komt er niet uit: gewoon proberen en de foutmelding afwachten…

Speciale situaties

Soms willen we zoeken naar tekens die zich in een speciale situatie bevinden. Stel dat we het aantal witregels tussen alinea’s willen verdubbelen. Dan dienen we te zoeken naar waar we een alinea hebben afgesloten door op de Enter-toets te drukken. Daartoe plaatsen we ^p in het zoekvakje. Bij twijfel is er de knop Speciaal onderaan het tabblad: deze klapt een menu open, waarin we (onder andere) de iets meer sprekende optie Alineamarkering aantreffen die automatisch ^p invult. Deze codes noemen we escapecodes en mogen zowel in het zoek- als het vervangvak gebruikt worden. Het volstaat dus te zoeken naar ^p en deze te vervangen door ^p^p.

Om dergelijke (normaal gesproken onzichtbare) tekens op het scherm te tonen, gaat u in Word 2007 in het tabblad Start van het lint naar het menu Alinea en klikt u op de knop Alles weergeven (het -symbool). In Word 2003 zoekt in de ouderwetse knoppenbalk naar het -symbool, wat daar de knop Weergeven/verbergen heet. Of gebruik in beide versies de toetscombinatie Ctrl+Shift+8. Zoeken naar ^p laat de zoekfunctie bij elke alinamarkering (het -teken) halt houden.

© PXimport

Van jokertekens naar reguliere expressies

Reguliere expressies (‘regular expressions’ of kortweg ‘regex’) zijn speciale combinaties van karakters en joker­tekens, die door een zorgvuldige keuze aan kracht winnen en zo complexe tekstpatronen kunnen opsporen en vervangen. Stel dat we over een lange lijst adressen beschikken, waarin de naam van de straat gevolgd wordt door het huisnummer, en die willen we omvormen tot een reeks waarin we eerst het huisnummer krijgen, gevolgd door een komma en dan pas de straatnaam. In dit voorbeeld zou het adres ‘Richard Holkade 8’ omgezet moeten worden in ‘8, Richard Holkade’. We veronderstellen even dat elke adreslijn als een aparte paragraaf ingebracht werd.

We openen het zoek/vervangvenster, geven aan dat we willen werken met jokertekens, en tikken (*)([! ]@)^13 in als te zoeken string. Daarin omvat het eerste paar ronde haakjes een bij elkaar horende expressie, die uit willekeurige tekens (het sterretje) mag bestaan, gevolgd wordt door een tweede expressie die ophoudt bij de einderegel (^13) en waarvan we de beginnende spatie uitsluiten ([! ]). Op die manier nemen we die niet nodeloos mee naar de vervangtekst.

In het vakje Vervangen door tikken we: \2, \1^p. Met \1 en \2 zoeken we naar de geïsoleerde expressies: we geven aan dat we eerst de tweede gevonden string wensen te plaatsen, en pas daarna de eerste, na een komma en een spatie als scheiding. We sluiten elke vervanging eveneens af met een Enter-toets (^p).

© PXimport

Reguliere expressies zien er cryptisch uit, maar maken complexe vervangingen mogelijk.

Het ene alinea-einde is het andere niet

Om het einde van een alinea aan te geven (de plaats waar de auteur op de Enter-toets drukte), mogen we zowel de code ^13 (denk aan de ASCII-code voor ‘carriage return’) als ^p (met de p van ‘paragraaf’) gebruiken. Maar er is een verschil tussen beide: ^p bevat informatie over de formattering, ^13 niet. Bovendien werkt ^p niet in opzoekingen met jokertekens. Gebruik dus ^13 om naar alinea-eindes te zoeken, maar geef de voorkeur aan ^p in het vervangvakje.

Zoeken en vervangen van opmaak

Dringt het pas na het afwerken van een document tot u door dat u overal waar u tekst vetgedrukt hebt gemaakt, dit liever cursief wilt zien, ook dan kan de zoek/vervangfunctie redding brengen. Onder het knopje Meer >> vindt u daarvoor de knop Opmaak. Klik eerst in het invoerveld naast Zoeken naar, en kies daarna de optie Lettertype uit de lijst Opmaak. Klik op Vet en sluit af. Selecteer vervolgens het veld naast Vervangen door, en doorloop dezelfde opties maar nu met Cursief als keuze. De zoek- en vervangvelden zijn weliswaar beide leeg, maar van belang is wat er telkens onder staat: bovenaan lezen we Lettertype: Vet en onderaan Lettertype: Cursief. De overige handelingen zijn dezelfde als bij het zoeken en vervangen van willekeurige tekstgedeeltes.

Hebben we ons vergist bij de opmaakkeuzes, dan is het lastig om dit ongedaan te maken. Kiezen we bijvoorbeeld opnieuw Standaard als lettertype, dan interpreteert Word dit als een keuze voor Niet Vet, Niet Cursief, wat niet hetzelfde is. Vandaar dat we ook een knop Geen opmaak ter beschikking hebben.

© PXimport

Het vervangen van opmaak vergt niet noodzakelijk een ingetikte tekst.

Superscripts

Wie vaak subscript of superscript gebruikt in teksten, vindt het misschien hinderlijk om daarvoor telkens naar het menu voor tekstopmaak te gaan. Een eerste oplossing hiervoor is het gebruik van de sneltoetsen Ctrl+= (subscript aan/uit) en Ctrl+Shift+= (superscript aan/uit). Maar als u daar telkens moet aan denken voordat het te behandelen karakter ingetikt dient te worden, dan wordt dat te vaak vergeten, en dient u dit telkens te corrigeren. Komen deze sub- of superscripts systematisch in vaste tekencombinaties voor (bijvoorbeeld H2O, CO2, m3, km2, etc.), dan is er een alternatief: zoeken en vervangen in twee stappen. We nemen als voorbeeld ‘H2O’. Om het intikken zo vlot mogelijk te laten verlopen, trekken we ons niets aan van de 2 in subscript en tikken we domweg H2O. Pas als de tekst helemaal klaar is, zetten we al H2O-strings om. Wellicht komt er nog een aantal cijfers 2 in onze tekst voor in een totaal ander verband, zodat een grootschalige zoek- en vervangbewerking die een gewone ‘2’ omzet naar een subscript ‘2’ niet wenselijk is.

De oplossing is om het in twee fasen aan te pakken: eerst zoeken naar H2O en die vervangen door (bijvoorbeeld) H#2#O (vooropgesteld dat de tekencombinatie #2# nergens elders in de tekst voorkomt). In een tweede slag zoeken we dan alle #2# op, en vervangen we die door 2 in een subscriptlettertype. Nadeel is dat de eerste stap van deze omweg herhaald dient te worden voor elke lettercombinatie waarin een dergelijk cijfer voorkomt, dus CO2 omzetten naar CO#2#, etc.

© PXimport

Tekst vervangen

Het komt vaak voor dat we een lange en complexe serie woorden herhaaldelijk dienen in te tikken, met telkens tikfouten en correcties tot gevolg. Denk aan een adres dat uit een aantal moeilijke eigennamen bestaat en bovendien in de gepaste formattering dient te staan (een ander lettertype, de aanspreking vetgedrukt, de gemeente onderstreept). De aanpak is eenvoudig: overal waar dit adres dient te komen, plaatsen we een korte, maar gegarandeerd unieke tekencombinatie, bijvoorbeeld $$$. Daarna tikken we één enkele keer het volledige adres in, compleet met alle gewenste vormgeving. We selecteren het en drukken op Ctrl+X (of Shift+Del) om het in het klembord te stoppen. Tot slot roepen we het zoek/vervangvenster op, met $$$ als te zoeken tekst en ^c (code voor klembord) als vervanger.

Zoek/vervang als telraam

Standaard beschikt Word over een functie om het aantal woorden binnen een document of een geselecteerde portie tekst te tellen: de telling is permanent te zien linksonder op de statusbalk van Word 2007, in versie 2003 gaat het via Extra / Woorden tellen. Nadeel is echter dat we dan telkens álle woorden geteld krijgen. Maar wat als we enkel het aantal keer willen tellen dat een bepaald woord in onze tekst voorkomt? Het volstaat daartoe om zowel bij de zoektekst als bij de vervangtekst hetzelfde woord in te geven, en een Alles vervangen bewerking te starten. Verifieer dat de optie Identieke hoofdletters/kleine letters niet aangekruist staat: het woord zal dan zowel middenin een zin als in het begin ervan gevonden worden, en zichzelf vervangen in de juiste combinatie hoofd/kleine letters. Wat ons uiteindelijk interesseert, is de uiteindelijke melding, wanneer Word ons toont hoeveel maal het woord gevonden en vervangen werd.

© PXimport

De zoek/vervangfunctie misbruiken we om te tellen hoeveel keer een bepaalde tekst in onze tekst voorkomt.

Minimaliseer het tikwerk

Als zowel het Zoeken naar als het Vervangen door vakje naar dezelfde tekst dienen te verwijzen, kunt u ook kortweg ^& als vervangstring gebruiken. Dit is eveneens een handige intikbesparing als de vervangtekst verder bouwt op de zoektekst: zoeken naar Frederik en alles vervangen door ^& van Amerongen zorgt ervoor dat we overal ‘Frederik van Amerongen’ krijgen. Zes toetsen bespaard! Of we zoeken naar van Amerongen en vervangen het door Frederik ^&. Minus elf!

Deel dit artikel
Voeg toe aan favorieten