JavaScript: String.prototype.split

By Xah Lee. Date: . Last updated: .
str.split(string_separator)
Split the string by separator. Example: str.split(",").
Result is array. The separator is not included in result unless using regex arg with capture.
str.split(regex)
Split the string by separator regex. Example: str.split(/ +/). If regex contains capturing parentheses, the captured parts are included in result.
str.split(sep, n)
Return a Array of n items at most.
str.split()
Return array of 1 element, the element is the whole string.
str.split("")
Each char is array element. (Note: if the string contain character whose codepoint ≥ 2^16, such as emoji 😂, the result may be “wrong”.) [see JavaScript: String Code Unit]

String Separator Example

The separator eats the string.

"abcde".split("c"); // [ 'ab', 'de' ]

Repeated space in string may result empty string element in array.

console.log(
 ' a  b c '.split (' ')
); // [ '', 'a', '', 'b', 'c', '' ]

Use filter to remove empty string in array.

[see Array.prototype.filter]

Regex Separator Example

Using regex as separator.

const t3 = 'a  b c';
console.log( t3.split (/ +/) ); // [ 'a', 'b', 'c' ]

Using regex with capture.

const t4 = 'a  b c';
console.log( t4.split (/( +)/) ); // [ 'a', '  ', 'b', ' ', 'c' ]

[see RegExp Syntax]

Max Length Example

Limit max length.

const tt = `a
b
c`;

console.log(
    tt.split ('\n',2)
); // [ 'a', 'b' ]

Other Example

Split by a character that doesn't exist, return full string

// split by a char that doesn't exist, returns full string
console.log(
"abc".split("-")
);
// [ 'abc' ]
BUY
ΣJS
JavaScript in Depth

JS Obj Reference

String

prototype