243

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?

0

5 Answers 5

317

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.

10
  • 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
    Sep 2, 2009 at 18:09
  • 3
    Your 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
    Nov 12, 2010 at 20:44
  • 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
    Nov 12, 2010 at 20:49
  • 7
    this wont work unless you set the search mode, as specified in the other answer: superuser.com/questions/34451/…
    – codeulike
    Aug 19, 2011 at 15:49
  • 8
    If 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. May 28, 2014 at 17:38
66

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.

3
  • 1
    This answer worked for me, the accepted did not. Ver 5.8.6 May 19, 2011 at 23:53
  • Yes same here the accepted answer did not specify using the extended mode..
    – Andy
    Nov 18, 2011 at 8:17
  • 1
    Why not \r\n (instead of \n)? Jun 11, 2018 at 7:47
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.

0
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".

1
  • 1
    Why not \r\n (instead of \n)? Jun 11, 2018 at 7:47
4

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

1
  • 1
    Why not \r\n (instead of \n)? Jun 11, 2018 at 7:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .