Notepad++ - Merge all lines into one and add separator

7

2

So this is my situation: I have a lot of lines like this:

line1
     line2
              line3
     line4

And they all start with different spaces. What I want to do is merge all the lines in the document into one, but separate each one with some character, something like this:

line1 | line2 | line3 | line4

How can I do this?

Hyperion

Posted 2015-05-17T20:02:24.247

Reputation: 389

Answers

19

No regex required in this case.

  1. Edit > Blank Operations > Trim leading Space.

  2. Replace All "\r\n" with " | " (make sure Extended Search Mode is selected):

    1

Karan

Posted 2015-05-17T20:02:24.247

Reputation: 51 857

Awesome works perfect. Can I ask you if can do this operation but only with the bookmarked lines? Of course just the step 2. I see i can select them and then use the "In selection" checbox but I use the bookmark function to bookmark all lines that contains a certain word – Hyperion – 2015-05-17T20:24:50.440

Don't think that's possible directly, but you can use Search > Bookmark > Cut bookmarked lines, paste in a temporary file, do the above and cut-paste back. – Karan – 2015-05-17T20:28:06.427

Uhm seems not working with a macro, at least when copy back step. – Hyperion – 2015-05-17T20:43:46.570

What does not work precisely? And what does "when copy back step" mean? – Karan – 2015-05-17T20:46:39.607

When I do the operation in the document 2 all goes fine, but when I try to cut the new line (witch is in document 2 and cointains all the merged lines), he doesn't record the "past this line in document 1". – Hyperion – 2015-05-17T20:57:46.203

I'm still a bit unsure of what you're saying. Please post a new question (with screenshots of the error if possible) clearly mentioning it's a macro-related issue, and posting the relevant macro code. – Karan – 2015-05-17T21:01:23.967

Actually, it must be \s+, in regex mode. It will remove spaces, newlines and tabs. – Ismael Miguel – 2015-05-17T22:28:20.517

After starting with \n only I didn't recognize I had only \r left and Notepad++ also renders single carriage returns still as line breaks... – jan – 2017-05-03T09:00:03.457

1

This is how I do it very easily. Let's say I want to merge all my lines but separate them with a semi colon.

Remove any headers Select from end of first line (hold shift key) to beginning of second line

Then Control H

This will bring up your Replace dialog box where the "Find what:" will be blank, and the "Replace with:" enter your separator like the semi colon ;

Then Replace All

Cindy

Posted 2015-05-17T20:02:24.247

Reputation: 11

0

As @Karan answers regex it's not necessary to solve your question, anywise you can use it to do it in one step and to avoid errors with different UNIX/Windows end lines (\n or \r\n).

To do so you can use the Replace All "\s*(.+)\s+" with "$1 | " with Regular Expression mode selected:

enter image description here

albciff

Posted 2015-05-17T20:02:24.247

Reputation: 143