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 find 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. GREP is case-sensitive by default; to replace case-insensitively, it is necessary to 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, the first name followed by the last name:

Zack Adams

Yolanda Brolin

Xaviera Cummings

etc.

(We assume in this case 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 saw earlier that a single word, if unhyphenated, is matched by \w+. Two words on a line are ...

Get GREP in InDesign 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.