Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Notepad++ insert new line at every nth occurrence of a string/character

Using Notepad++ Find and Replace feature, I would like to insert a new line at every nth occurrence of a character or string (a comma in my case).

I have tried the regex below using "Regular expression" mode, but no luck.

Find what: ((,){1000})

Replace with: \1\n

like image 826
Pugazh Avatar asked Dec 23 '16 10:12

Pugazh


1 Answers

If you mean to add a newline after nth occurrence of any string on a line, I'd use

(?:.*?,){2}

and replace with $&\n (or $&\r\n) where .*? matches any 0+ chars other than line break characters, as few as possible, up to the first occurrence of ,. The $& is the backreference to the whole match value (2 is used for the demo to look cleaner, 1000 is a rather big value). See a demo showing that a newline is placed after each second ,.

With a single char, you'd better use a negated character class (but add line break chars there to force the pattern to not overflow across lines):

(?:[^\n\r,]*,){2}

enter image description here

like image 193
Wiktor Stribiżew Avatar answered Oct 11 '22 17:10

Wiktor Stribiżew