How to remove all line breaks from a string using JavaScript?
Line breaks in strings vary from platform to platform, but the most common ones are the following:
- Windows: \r\n carriage return followed by a newline character.
- Linux: \n just a newline character.
- Older Macs: \r just a carriage return character.
There are two methods to accomplish this task. One of the ways is by using a traditional programming loop and visiting every character one at a time. Another is using Regular Expressions.
Methods to Remove All Line Breaks from a String:
Method 1: Using JavaScript slice and stitch methods
It is the basic way to realize the solution to this problem. Visit each character of the string and slice them in such a way that it removes the newline and carriage return characters.
Code snippet:
let newstr = "";
for (let i = 0; i < str.length; i++)
if (!(str[i] == "\n" || str[i] == "\r"))
newstr += str[i];
All this code snippet does is just copy all the characters that are not “newline” or “carriage return” to another variable. However, there are a lot of overheads in this solution, and therefore not an optimal way to remove newlines.
Example: This example shows the removal of all line breaks from the given string.
Javascript
str = "Hello \nWelcome \nto \nGeeksForGeeks"
console.log(str)
function remove_linebreaks_ss(str) {
let newstr = "" ;
for (let i = 0; i < str.length; i++)
if (!(str[i] == "\n" || str[i] == "\r" ))
newstr += str[i];
console.log( "new string : " +newstr);
}
remove_linebreaks_ss(str);
|
Output
Hello
Welcome
to
GeeksForGeeks
new string : Hello Welcome to GeeksForGeeks
Regular Expression:
This method uses regular expressions to detect and replace newlines in the string. It is fed into replace function along with a string to replace with, which in our case is an empty string.
String.replace( regex / substr, replace with )
The regular expression to cover all types of newlines is
/\r\n|\n|\r/gm
As you can see that this regex has covered all cases separated by the | operator. This can be reduced to
/[\r\n]+/gm
where g and m are for global and multiline flags.
The best part is that this method performed almost 10 times better than the previous one.
Example: This example shows the removal of all line breaks from the given string.
Javascript
str = "Hello \nWelcome\nto\nGeeksForGeeks" ;
console.log(str);
function remove_linebreaks(str) {
return str.replace(/[\r\n]+/gm, " " );
}
function removeNewLines() {
let sample_str = str;
console.log( "nwe String: " +remove_linebreaks(str));
}
removeNewLines();
|
Output
Hello
Welcome
to
GeeksForGeeks
nwe String: Hello Welcome to GeeksForGeeks
Last Updated :
20 Dec, 2023
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...