Geavanceerd zoeken/vervangen in Word

Door: | 12 april 2010 10:04

Apps & Software

Inhoudsopgave

  1. Inleiding
  2. pagina 2

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.

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.

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.

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).

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.