Split. Consider a string that has many parts. It has a delimiter character that we want to split upon. With split() in Node.js we have many ways to do this.
Method notes. Often, the best approach is the simplest. With a single character delimiter, we can write simple code to split the string. Sometimes a regular expression is needed.
First example. Here we introduce a string literal that has 4 substring separated with a plus delimiter. The "plus" character separates 4 color names.
Part 1 We call the split method with a one-character string argument: the "+" char.
Part 2 The array returned has 4 strings in it—the plus separates each string so there are fewer delimiters than strings.
Part 3 We loop over the array returned from the split method. It has 4 elements, one string for each color word.
var colors = "blue+orange+red+yellow";
// Part 1: split on the plus.
var result = colors.split("+");
// Part 2: write the length.
console.log("SPLIT RESULT LENGTH: " + result.length);
// Part 3: write each resulting string.
for (var i = 0; i < result.length; i++) {
console.log("SPLIT RESULT: " + result[i]);
}SPLIT RESULT LENGTH: 4
SPLIT RESULT: blue
SPLIT RESULT: orange
SPLIT RESULT: red
SPLIT RESULT: yellow
Regex. Sometimes we need a more complex approach to separating strings. We can use a regular expression. Here we split on one or more non-word characters (like spaces or newlines).
Tip With a regular expression, we can treat multiple delimiters as a single one. This eliminates empty entries.
var data = "cat bird frog";
// Split on one or more non-word characters.// ... This includes spaces and newlines.
var results = data.split(/\W+/);
console.log("SPLIT NON-WORD: " + results);SPLIT NON-WORD: cat,bird,frog
Get numbers. With split() and a regular expression we can get the numbers from a string. We split on non-digit characters. The uppercase "D+" means one or more non-digit chars.
Tip To extract numbers, we can split on "not number" characters. Then we use Number() to convert the strings to actual numeric values.
var input = "0 cat 10(20)30-500";
// Split on no none or more non-digit chars.
var numberStrings = input.split(/\D+/);
// Convert all strings into Numbers.// ... Write them.
for (var i = 0; i < numberStrings.length; i++) {
var number = Number(numberStrings[i]);
console.log("NUMBER: " + number);
}NUMBER: 0
NUMBER: 10
NUMBER: 20
NUMBER: 30
NUMBER: 500
Character set. We can split on a set of characters—here we have 3 char delimiters, and we split a string on all of them in a single call. We use a character set in the regular expression.
Tip Be careful to escape metacharacters in the regex. If the pattern does not work, try escaping some characters with the backslash.
// This string has multiple delimiter chars.
var codes = "100x200y300z400";
// Split on a set of characters at once.
var results = codes.split(/[xyz]/);
// Display results.
for (var i = 0; i < results.length; i++) {
console.log("RESULT: " + results[i]);
}RESULT: 100
RESULT: 200
RESULT: 300
RESULT: 400
Splitting a string is a common operation in nearly all languages. When we call Split, we receive an array of the parts that were separated by a delimiter.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Dec 13, 2023 (simplify).