94

I have a file with a mix of CRLF and LF, and wish to remove the LF. I am new to Notepad++ and just downloaded V6.23.

I'm using the search/replace dialogue box in extended mode. It will find and count the CR LF (using \r\n) but if I do a replace (to e.g. a blank or \r) nothing happens, and a replace all says it has replaced 0 occurrences. There are around 1000 CRLF in file and may be 100 lone LF.

Any ideas?

Baarn
  • 6,624
  • 6
  • 35
  • 64
Alan
  • 949
  • 1
  • 7
  • 3
  • So you want to replace CRLF with CR, and LF with a space (or just delete standalone LFs)? Also, does it *have* to be via Notepad++ only? – Karan Feb 02 '13 at 20:53
  • I wish to delete the standalone LF. It odes not have to be Notepad++, although I don't understand why Notepad++ can't seem to do this. – Alan Feb 03 '13 at 08:53
  • a guide for notepad2 that i use: http://blog.jtbworld.com/2011/01/notepad2-tips-to-find-and-replace.html – Hayden Thring Mar 20 '14 at 01:29
  • I would sent he file to someone with **Visual Studio** (unless you have it installed yourself) and then open the file there. This should prompt you with a question whether **Visual Studio can "normalize" the end of line characters "automagically"** (on file open). – Stein Åsmul Aug 16 '19 at 13:02

17 Answers17

85

Task: File has a mix of CRLF and LF, and you want to end up with only CRLF and delete all standalone instances of LF.

  1. File:
    1

  2. File (Show All Characters):
    2

    Now if you delete only the standalone LF at the end of Line 3, you should end up with Lines 3 and 4 joined together, with the rest of the line endings unaffected.

  3. Replace #1 (\n with (blank)):
    3

  4. File after Replace #1:
    4

  5. Replace #2 (\r with \r\n):
    5

  6. File after Replace #2:
    6

  7. Final result:
    7

Conclusion: Notepad++ seems to be able to do the job just fine!

Karan
  • 55,947
  • 20
  • 119
  • 191
59

In the Notepad++ menubar click EditEOL ConversionOld Mac format to format for entire files.

Image of How to Do this.

clhy
  • 6,283
  • 8
  • 34
  • 66
ColacX
  • 1,291
  • 2
  • 13
  • 16
  • 2
    I think you mean 'EOL Conversion', but that was exactly what I was looking for! Thanks! – Gary Jun 01 '16 at 21:08
  • I find this to be the more consistent way over the find/replace method. There is some weird behavior of notepad++ that if the first line of the file is \r\n, the find will not recognize it as it does all the other \r\n in the document. EOL Conversion does not face this problem – demongolem Mar 17 '17 at 14:59
  • Official Notepad++ documentation that pertains to line ending: http://docs.notepad-plus-plus.org/index.php/Lines_And_Blocks – Julian Oct 24 '18 at 08:47
  • German: Bearbeiten -> Format Zeilenende -> UNIX (LF) – PeterCo Jul 11 '19 at 06:47
8

Here's a SUPER SIMPLE WAY....

Select all the text you want to change, and then Click Edit Menu --> Line Operations --> Join Lines.

-Or-

Simply, press CONTROL + A, and then CONTROL + J to do the same.

AKS
  • 81
  • 1
  • 1
5

You can just copy everything to wordpad, create a new text file with notepad++ and paste it back to the new file from wordpad. Every line should have CR now.

user339160
  • 51
  • 1
  • 1
3

you might have accidentally enabled the "show all character" option enabled in the editor

notepad ++ toolbox

Journeyman Geek
  • 127,463
  • 52
  • 260
  • 430
Sudhakar
  • 57
  • 1
1

May I just suggest that the 2 most usual line endings are either CRLF or LF.

If you remove the LF, you will end up with line endings of just CR. This is non-standard.

This (depending on your usage) can break a bunch of things. For example windows hosts file will break if you do this (just spent a bunch of time on a support call about this issue).

Adrien
  • 1,255
  • 8
  • 11
1

View -> Show Symbol -> uncheck Show End of Line.

It works

https://stackoverflow.com/questions/41036033/cr-lf-notepad-removal

Harsh
  • 11
  • 1
0

Make sure the Show all characters button is selected. Use Alt and drag the mouse over only the text you want to copy and paste. DO NOT SELECT CR|LF. CR|LF will get pushed aside. Do the same when you paste and use Alt and do not select CR|LF and hit Ctrl->v. This is to append a list of text to a separate file with a list of text.

  • Welcome to Super User! Please read the question again carefully. Your answer does **not** answer the original question. This appears to be an answer to some other completely different question. – DavidPostill Nov 09 '16 at 09:34
0

Negative lookbehind allows you to find and replace just the LF that are not preceded by a CR:

(?<!\r)\n

Before:
before
After:
after

mskfisher
  • 1,053
  • 3
  • 12
  • 22
-1

Open the file in Notepad++.

Step 1) put in word warp ( view wordwrap)
Step 2) go to search.. click on : find the character in range tab

In the search window, you have to the range from 10 TO 10. then you able to find all the occurrence of CR/LF and LF.

Delete manually if the file is very small file.

Joseph
  • 2,158
  • 3
  • 14
  • 24
sam
  • 1
-1

Copy the whole text to a new tab, this will automatically replace the special characters. The main challenge with the find replace method is in case the text format/Alignment is distorted.

-1

Based on the answers above, I've come up with a single substitution to solve this problem, which I had myself.

Instead of replacing "\r\n" for "\n" and doing it again, I replaced "\r\n" for "" (nothing), then it was done. I also marked "Wrap around" and the box next to it, extending the possible regular expressions.

For some reason, it is necessary to replace double spaces with a single space afterwards, but the "\r\n" is solved after the first replacement.

enter image description here

Gaff
  • 18,569
  • 15
  • 57
  • 68
-1

The EOL conversion feature under the Edit menu does the job just fine, as someone has already mentioned - very quick, very easy, very accurate. I did notice something a little odd, though, which is why I'm throwing in my two cents worth.

I was aiming for Windows encoding. In some of my files, I didn't have the option of choosing 'Windows Format' because it was greyed out, I'm guessing because most of the file was using Windows End Of Line characters. The simple solution was to choose one of the other two options ('UNIX/OSX Format' or 'Old Mac Format') and then, once again, go 'Edit --> EOL Conversion' and Windows Format was now available to choose.

Liz
  • 1
-1

In order to remove the CRLF you have to select the icon at the top that says "Show all characters", and they will go away. Just scan with your mouse and find the one that looks like a backwards P.

  • When giving an answer it is preferable to give [some explanation as to WHY your answer](http://stackoverflow.com/help/how-to-answer) is the one. – Stephen Rauch Apr 02 '17 at 06:38
-1

Just Use replace [^\r]\n with " " and select regular expression it will replace all \n with " " but doesn't do anything to \r\n

-1

In the find dialog there are three Search Modes, namely Normal, Extended (\n, \r, \O, \x...) and Regular expression. Mine defaulted to Normal but you need Extended for the escape characters.

-1

I faced similar issue. I followed the below steps to remove LF with CRLF

  1. Open file with notepad++
  2. Click Edit -> EOL Conversion -> Windows Format (This will append replace LF with CRLF)
  3. Save the file
Arif
  • 1
  • 1
    OP wants to remove the LF from the CR/LF pair, but keep existing LF-only intact. Your answer will replace lone LFs with a CR/LF pair, leaving existing CR/LF pairs unchanged. Useful, perhaps, but the opposite of what the OP wants. – user Aug 05 '15 at 09:12