Searching and replacing for carriage returns, tabs, and other characters, using regular expressions
Call them carriage returns, line breaks, paragraph marks, whatever, sometimes you want fewer of them. Maybe you've brought in some ASCII text that had a line break or two after every paragraph and now with formatted text you don't need it. Or you're turning a spreadsheet or database into text or vice versa.
At any rate, it would be nice to use the Find and Replace window to quickly find'em and change them to whatever you want: nothing at all, or the phrase "el elegante" or whatever.
Note: If you're a macro kind of person, see this page on the ooo forum.
Searching and Replacing, Step by Step
In your OpenOffice.org document, choose Edit > Find and Replace or press Ctrl F. The Find and Replace window will appear.
In the Find and Replace window, enter the symbol for what you want to search for, in the Find field. Here's a quick reference to the symbols to enter for what you're looking for.
- Regular carriage returns are $
- Soft returns inserted with a Shift Return, are \n
- Just an empty paragraph, i.e. a carriage return but with no text on that line, is ^$
- Tabs are \t
In the Replace field, you typically don't enter anything since you're probably just trying to get rid of whatever you're searching for.
- If you want to replace something with a carriage return, put \n in the Replace field.
- If you want to replace one carriage return with two, put \n\n in the Replace field.
- One thing--you can't replace something with soft returns. As you see, a \n in the Replace field turns into a normal hard return.
- Just use \t normally, in both the Search and the Replace fields, for a tab.
Once your Find and Replace fields contain what they should, click the More Options button. Select the Regular Expressions checkbox. This will make the program look for what those codes represent, rather than literally those characters.
If you're using a mix of regular expressions and normal characters, you might need to use a \ in front of anything you want evaluated normally. For instance, if you really are looking for the symbol $ but you want to replace it with a carriage return \n, then you need to actually search for \$ in the Search field and replace it with \n because $ is a special character.
This illustration shows you're looking for a carriage return (any carriage return), and you're going to replace it with nothing.
Click Find. The first instance (from where the cursor was) of the thing you're looking for will be highlighted.
Click Replace to do the replacing.
And so on. Keep going until you're done. Use Replace All only when you're absolutely positive you'll get the results you want.

It would be really nice if we could set the option "regular expression" as the default. I use it most of the time, and it would be easier for me if I only needed to uncheck it the few times I don't want it, instead of having to check it almost every time I search and replace. As it is now, it gets automatically unchecked every time I close the search-and-replace window. Strange, isn't it?
Do you know any trick that can accomplish that?
Posted by: Bertilo Wennergren | April 30, 2008 at 12:13 AM
I seem to be having trouble with this in OO 2.4. Have they changed the rules here?
The Help file says:
"Only finds the search term if the term appears at the end of a paragraph. Special objects such as empty fields or character-anchored frames at the end of a paragraph are ignored. Example: "Peter$". "
Which would appear to be different from what you give in your example.
Dollar sign seems to find all characters when I use it. Frustrating.
Any help appreciated.
Posted by: Jeff | May 13, 2008 at 06:09 AM
Hi Jeff,
I checked and it works the same in 2.4. "Bob$" found Bob at the end of a paragraph but not Bob Jane .
Are you checking the Regular Expressions checkbox and no others, after you click More?
Solveig
Posted by: Solveig | May 13, 2008 at 11:19 AM