Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to remove all line breaks from a string

I have a text in a textarea and I read it out using the .value attribute.

Now I would like to remove all linebreaks (the character that is produced when you press Enter) from my text now using .replace with a regular expression, but how do I indicate a linebreak in a regex?

If that is not possible, is there another way?

like image 691
Wingblade Avatar asked May 29 '12 19:05

Wingblade


People also ask

How do I remove a line break in a text file?

In the file menu, click Search and then Replace. In the Replace box, in the Find what section, type ^\r\n (five characters: caret, backslash 'r', and backslash 'n'). Leave the Replace with section blank unless you want to replace a blank line with other text.


2 Answers

How you'd find a line break varies between operating system encodings. Windows would be \r\n, but Linux just uses \n and Apple uses \r.

I found this in JavaScript line breaks:

someText = someText.replace(/(\r\n|\n|\r)/gm, ""); 

That should remove all kinds of line breaks.

like image 145
Eremite Avatar answered Oct 13 '22 11:10

Eremite


Line breaks (better: newlines) can be one of Carriage Return (CR, \r, on older Macs), Line Feed (LF, \n, on Unices incl. Linux) or CR followed by LF (\r\n, on WinDOS). (Contrary to another answer, this has nothing to do with character encoding.)

Therefore, the most efficient RegExp literal to match all variants is

/\r?\n|\r/ 

If you want to match all newlines in a string, use a global match,

/\r?\n|\r/g 

respectively. Then proceed with the replace method as suggested in several other answers. (Probably you do not want to remove the newlines, but replace them with other whitespace, for example the space character, so that words remain intact.)

like image 44
PointedEars Avatar answered Oct 13 '22 12:10

PointedEars