Notepad++ find and replace string with a new-line

222

54

Consider the scenario where you have a specific string that you want to find-and-replace. You want to replace it with a new string that contains a newline character (or character sequence).

abc123 xyz456-blah
fsafd23 xyz456-green
89hjkf23 xyz456-red
afdsa23 xyz456-yellow
abaac123 xyz456-orange

In the scenario above, I'd like to find " xyz" and replace the space with a carriage return/newline.

The results would look like:

abc123
xyz456-blah
fsafd23
xyz456-green
89hjkf23
xyz456-red
   ︙

etc...

Question: How would you most easily achieve this using Notepad++? Are there any other tools that you'd suggest to easily perform this command?

p.campbell

Posted 2009-09-02T17:57:22.407

Reputation: 3 938

Answers

287

Notepad++ will do just fine.

Search string:

 xyz
Note the space in front of xyz.

Replace string:

\r\nxyz

You will also need to set the "Search Mode" to "Extended" (lower left group box in the Replace dialog) so that Notepad++ honors escape codes.


Some background: "\r\n" is the escape code for carriage-return, the standard for new lines in Windows. Unix-style systems use simply \n (newline). Most IDEs, Notepad++ included, will understand both styles and portray them each with new lines, but core Windows utilities do not understand \n as being equivalent to \r\n, so the latter is usually the most appropriate if the file is intended to be used in Windows environments.

caliban

Posted 2009-09-02T17:57:22.407

Reputation: 18 979

@goku_da_master +1 that was exactly what i was trying to figure out. Thought maybe there was a different way but this works just fine =-) – Mungoid – 2014-09-13T21:11:15.953

How do I do this the other way around? I want to replace things like newlines with text. – Aaron Franke – 2016-12-12T17:00:54.087

This also works in reverse. I just used replace </item>\r\n <item> with <\item>\r\n\r\n <item> in N++ reading an xml document to add an empty line between each item, visually separating it and making it easier to read. – Isaac Reefman – 2018-06-21T00:53:09.060

\r\n didn't work for me, but \r did surprisingly. NP++ v 7.75. I was trying to replace ";" with carriage return. – Vinay – 2018-07-27T18:44:44.043

3Your phrase "more conventional" is misleading. "\r\n" is the standard on Windows. It's just that a lot of editors and IDEs happen to recognize the Unix/Linux standard line ending "\n" and display the document accordingly. There's nothing about "\n" that makes it more conventional. – Brian Lacy – 2010-11-12T20:44:03.333

To be honest, the Win/DOS version makes more sense to me. "\r" means "Carriage Return, or 'Return the carriage/cursor to the beginning of the line'" and "\n" means "Advance the carriage/cursor forward one line". Of course, Unix came 20 years before, so I guess in that sense it is Microsoft who broke the standard. – Brian Lacy – 2010-11-12T20:49:05.447

2\r\n = Windows newline syntax. However, for everything other than plain old notepad, it will accept just \n for a newline (which is also more conventional). – Macha – 2009-09-02T18:09:09.747

7

this wont work unless you set the search mode, as specified in the other answer: http://superuser.com/questions/34451/notepad-find-and-replace-string-with-a-new-line/34454#34454

– codeulike – 2011-08-19T15:49:51.300

7If you're trying to replace the literal string "\r\n" with an actual new line I had to do the following: set search mode to normal, find/replace \r\n with ***. Then set search mode to Extended, find/replace *** with \r\n. – goku_da_master – 2014-05-28T17:38:15.407

63

In Notepad++, it's very easy...

  • Find: xyz
  • Replace with: \n


  • Search Mode: Extended (\n, \t, etc)

The trick is to set the search mode.

th3dude

Posted 2009-09-02T17:57:22.407

Reputation: 9 189

Why not \r\n (instead of \n)? – Peter Mortensen – 2018-06-11T07:47:36.550

1This answer worked for me, the accepted did not. Ver 5.8.6 – bdwakefield – 2011-05-19T23:53:19.110

Yes same here the accepted answer did not specify using the extended mode.. – Andy – 2011-11-18T08:17:23.707

7

I cheat a bit when S&Ring characters that I can't type directly into the text fields (e.g. tabs and newlines). Find somewhere in the document which already has that character, then copy it, and paste it into the replace field.

So in your example, start at the very start of one line, click, drag to the very end of the preceeding line, copy that, and paste it into the Replace dialog.

Macha

Posted 2009-09-02T17:57:22.407

Reputation: 4 772

7

In the "Replace" dialog, make sure that under Search Mode you have "Extended" selected. Then type in the find box enter "xyz" and replace with "\n".

TJ L

Posted 2009-09-02T17:57:22.407

Reputation: 1 869

1Why not \r\n (instead of \n)? – Peter Mortensen – 2018-06-11T07:47:43.903

4

For Notepad++, change the search mode to Extended then in the Replace with field use \n.

dlux

Posted 2009-09-02T17:57:22.407

Reputation: 4 183

1Why not \r\n (instead of \n)? – Peter Mortensen – 2018-06-11T07:47:51.743