Loading
Word.Tips.Net WordTips (Menu Interface)

Replacing Two Tabs with a Space in Limited Situations

Please Note: This article is written for users of the following Microsoft Word versions: 97, 2000, 2002, and 2003. If you are using a later version (Word 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Word, click here: Replacing Two Tabs with a Space in Limited Situations.

Terry often imports information, such as customer names, into Word from a different program. The problem is that the names are in the format (John^t^tDoe), where the first and last names are separated by two tabs and the entire name is surround by parentheses. Terry needs to replace the two tabs with a single space. He knows he could use a regular Find and Replace to do it, but it would affect all other instances of two tabs in the document. He wonders if there is a way to search for the parentheses, a word, and two tabs and replace it with the parentheses, the word, and a single space.

This can actually be done using the regular Find and Replace feature of Word. First, if the names are all within a single portion of your document, you could select the paragraphs that contain the names and do a simple Find and Replace to change the two tab characters to a single space. This would limit the replacements to just what you selected and avoid making changes in other parts of the document where there may be double tab characters used in a different context.

If this cannot be done (perhaps the names aren't limited to a single area of the document), then you can still use Find and Replace. All you need to do is do what is called a wild card search, which opens up the real power being Find and Replace. Follow these steps:

  1. Press Ctrl+H. Word displays the Replace tab of the Find and Replace dialog box.
  2. Click the More button, if it is visible. (See Figure 1.)
  3. Figure 1. The Replace tab of the Find and Replace dialog box.

  4. Select the Use Wildcards check box.
  5. In the Find What box, enter this: (\([A-Z][a-z]{1,})(^t^t)([A-Z][a-z]{1,}\))
  6. In the Replace With box, enter this: \1 \3
  7. Click Replace All.

The key to understanding what is happening with these steps is understanding the search pattern created in step 4. It is easiest to break it down into parts, with each part surrounded (in the pattern) by parentheses. The first part is this:

(\([A-Z][a-z]{1,})

This part says "find any opening parenthesis, indicated by \(, followed by a single uppercase letter, indicated by [A-Z], followed by at least one lowercase letter, indicated by [a-z]{1,}". The purpose of this part of the pattern is to find the first part of the name within parentheses, before the two tab characters. In Terry's original question, this would find the characters "(John".

The next part of the pattern is this:

(^t^t)

This part says "find two tab characters". This is fairly self-explanatory. Because this part follows the first part, just discussed, it means that the two tabs must follow the first name, as already mentioned. The third part of the pattern is this:

([A-Z][a-z]{1,}\))

This part of the pattern is very similar to the first part. It essentially says "find a single uppercase letter, indicated by [A-Z], followed by at least one lowercase letter, indicated by [a-z]{1,}, followed by a closing parenthesis, indicated by \)". Taken all together, the effect of the search pattern is to find the first name, followed by two tab characters, followed by the last name.

Remember that each part of the search pattern is encased within a set of parentheses. This allows each part to be referenced within the "Replace With" pattern in step 5. Thus, whatever matches the search pattern is replaced with what was found in the first part of the search pattern (the first name and leading parenthesis), a single space, and what was found in the third part of the search pattern (the last name and trailing parenthesis). Very powerful, indeed.

You should be aware that you might need to modify what you search for, depending on the characteristics of the names in your document. As shown here, the search works great, provided that the names (first and last) begin with a single uppercase letter and have no other characters in them, such as spaces or periods. If your names aren't structured in this way, you can modify the search pattern to be less restrictive. For example, consider the following search pattern which could be used in step 4:

(\(*)(^t^t)(*\))

This finds any number of characters between the opening parenthesis and the tabs and any number of characters between the tabs and the closing parenthesis.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (908) applies to Microsoft Word 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Word (Word 2007 and later) here: Replacing Two Tabs with a Space in Limited Situations.

Related Tips:

Do More in Less Time! Are you ready to harness the full power of Word 2013 to create professional documents? In this comprehensive guide you'll learn the skills and techniques for efficiently building the documents you need for your professional and your personal life. Check out Word 2013 In Depth today!

 

Leave your own comment:

*Name:
Email:
  Notify me about new comments ONLY FOR THIS TIP
Notify me about new comments ANYWHERE ON THIS SITE
Hide my email address
*Text:
*What is 5+3 (To prevent automated submissions and spam.)
 
 
           Commenting Terms

Comments for this tip:

Sandy Hathaway    03 Aug 2014, 21:19
How can I find and replace all "Mcdonald, Mcandrew, mcghee etc with McDonald, McAndrew etc using wildcards? I can write the find part as (Mc)(a-z]{1}) but how do I specify that the replace part should be \1\2<uppercase>? (Needless to say, <uppercase> doesn't work!)
Thanks for your help!
Sandy
Steven Wells    21 Jul 2012, 16:02
Oops.
One too many parentheses in my first example of what doesn't work.
That invalid expression should have been:
(([A-Z][a-z]{1,}){1,})
Steven Wells    21 Jul 2012, 15:58
Notes:
I tried using nested parentheses to include one or more sets of initial uppercase letters so as to find both Donald and McDonald, or JoeBillyBob. But Word does not accept nested parentheses. So, this is no good:
(([A-Z][a-z]{1,}){1,}))

Further, I cannot use a zero-or-more instance wildcard for potentially hyphenated names to find both Smith and Hamilton-Smith because Word does not accept such regular expressions. This is also no good:
-{0,}

Some programming languages do accept this expression.

For these and other complex cases, the less restrictive example in this WordTips column does work.
((*)(^t^t)(*))
 
 

Our Company

Sharon Parq Associates, Inc.

About Tips.Net

Contact Us

 

Advertise with Us

Our Privacy Policy

Our Sites

Tips.Net

Beauty and Style

Cars

Cleaning

Cooking

DriveTips (Google Drive)

ExcelTips (Excel 97–2003)

ExcelTips (Excel 2007–2016)

Gardening

Health

Home Improvement

Money and Finances

Organizing

Pests and Bugs

Pets and Animals

WindowsTips (Microsoft Windows)

WordTips (Word 97–2003)

WordTips (Word 2007–2016)

Our Products

Helpful E-books

Newsletter Archives

 

Excel Products

Word Products

Our Authors

Author Index

Write for Tips.Net

Copyright © 2016 Sharon Parq Associates, Inc.