Skip to content
DeveloperMemos

Removing Empty Lines with JavaScript

JavaScript, String Manipulation, Code Snippets1 min read

When working with text data in JavaScript, you may encounter situations where you need to remove empty lines from a string. Empty lines can be whitespace characters or completely blank lines. In this article, we will explore different methods to efficiently remove these empty lines using JavaScript. Whether you are processing user input or manipulating text files, these techniques will come in handy.

Let's dive into the various approaches and code examples.

Method 1: Regular Expressions

One common method to remove empty lines from a string is by utilizing regular expressions. The replace() method along with an appropriate regular expression pattern can help achieve the desired result. Here's an example:

1const text = `Line 1
2Line 2
3
4Line 4
5
6
7Line 7`;
8
9const withoutEmptyLines = text.replace(/^\s*\n/gm, "");
10console.log(withoutEmptyLines);

The regular expression pattern /^\s*\n/gm matches any number of whitespace characters followed by a newline character and replaces them with an empty string. The gm flags ensure a global and multiline match.

The output of the above code will be:

1Line 1
2Line 2
3Line 4
4Line 7

Method 2: Splitting and Filtering

Another approach involves splitting the string into an array of lines, filtering out the empty lines, and then joining the remaining lines back together. This technique provides more flexibility in case you need to perform additional transformations on each line. Here's an example:

1const text = `Line 1
2Line 2
3
4Line 4
5
6
7Line 7`;
8
9const lines = text.split("\n").filter(line => line.trim() !== "");
10const withoutEmptyLines = lines.join("\n");
11console.log(withoutEmptyLines);

In this code snippet, split("\n") splits the string into an array of lines based on the newline character. The filter() method removes any lines that are empty or contain only whitespace characters using the trim() function. Finally, join("\n") rejoins the filtered lines into a single string.

The output will be the same as the previous example:

1Line 1
2Line 2
3Line 4
4Line 7

Method 3: Trim and Split

If you want to remove empty lines from both the beginning and end of a string, you can combine the trim() function with the splitting approach. This ensures that leading and trailing empty lines are also eliminated. Here's an example:

1const text = `
2
3
4Line 1
5Line 2
6
7Line 4
8
9
10Line 7
11
12
13`;
14
15const lines = text.trim().split("\n").filter(line => line.trim() !== "");
16const withoutEmptyLines = lines.join("\n");
17console.log(withoutEmptyLines);

The trim() function removes any whitespace characters from the start and end of the string. By applying trim() before splitting the text, we ensure that empty lines at the beginning and end are discarded.

The resulting output will be:

1Line 1
2Line 2
3Line 4
4Line 7

Removing empty lines from text using JavaScript is a common task when working with textual data. In this article, we explored three different methods to accomplish this task: using regular expressions, splitting and filtering, and combining trim and split techniques. Also remember to always choose the method that best suits your specific requirements!