Replacing with Wildcards

Now that we know how to find things using GREP's wildcards, we're ready to do some replacing with them. If the replacement text does not contain wildcards or references to wildcards, the replacement is straightforward. For example, to replace the words illustration, graph, map, and chart with figure, do this:

Find what: illustration|graph|map|chart

Change to: figure

The words that should be replaced are given as a list of alternatives separated by the vertical bar, and each alternative is replaced with figure. Remember that GREP is case-sensitive by default, so to replace case-insensitively, add (?i) before the expression. This will replace chart with figure and Chart with Figure.

This kind of replacement is already a great leap forward compared with the replacements you can do in the Text tab. By including wildcards and references to them, GREP replacements become really powerful. Let's look at some applications of this.

Swap First and Last Name

Suppose you have a list of names of people, one person per line, first name followed by last name:

Zack Adams
Yolanda Brolin
Xaviera Cummings
etc.

(We assume for the moment that every person has just one first name and one last name.) Now you want to change that list so that the last name comes first, followed by a comma, followed by a space and the first name:

Adams, Zack
Brolin, Yolanda
Cummings, Xaviera
etc.

We showed earlier that a single word is matched by \w+. Two words on a line are matched by ^\w+ \w+$: a word at the beginning ...

Get GREP in InDesign CS3 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.