Split a String into a List of Lines in JavaScript or Node.js

JavaScript provides a handful of foundational string methods in the stdlib. You can use the given methods to compose your own utility functions. For example, you can split a multiline string into an array of lines. Each line in that array is a string as well. From here, you can format, transform or change the individual lines to your needs.

This tutorial shows you how to split a string on line breaks into a list of strings representing the individual lines.

Node.js Series Overview

  1. Check if a Value is a Symbol in JavaScript or Node.js (Coming soon)
  1. Detect if Running on Linux (Coming soon)
  2. Detect if Running on macOS (Coming soon)
  3. Detect if Running on Windows (Coming soon)
  4. Check if Running on 64bit or 32bit Platform (Coming soon)
  1. How to Download a File (Coming soon)

Splitting a String on the Newline Character

You can split a long string into its individual lines when seeing a line break. A line break uses the “newline” character. The character to represent a new line in JavaScript is the same as in other languages: \n.

Here’s a utility function splitting a text at the newline character:

/**
 * Returns an array of lines for the given `text`.
 *
 * @param {String} text
 *
 * @returns {String[]}
 */
function lines(text) {  
  return text.split('\n')
}

You may then use the lines utility function like this:

const text = `  
Hey pal,

Supercharge is awesome!  
`

const lines = lines(text)  
// ['', 'Hey pal,', '', 'Supercharge is awesome!']

The template literal in JavaScript is a way to create multiline string values. When wrapping the text to a new line it contains the related line breaks.

Use the @supercharge/strings Package

I’m the maintainer of the @supercharge/strings package providing convenient string utilities. It provides a useful Str#lines() method returning a list of strings representing the individual lines of the given string value:

const Str = require('@supercharge/strings')

const text = `  
Hey pal,

Supercharge is awesome!  
`

Str(text).lines()  
// ['', 'Hey pal,', '', 'Supercharge is awesome!']

Str('').lines()  
// ['']

That’s it!


Mentioned Resources

Explore the Library

Find interesting tutorials and solutions for your problems.