String.split() en JavaScript : découper une chaîne en tableau

split découpe une chaîne à chaque séparateur rencontré et rend un tableau. Le séparateur peut être du texte ou une expression régulière.
3 min de lecture
Believemy logo

Une ligne de fichier CSV, une liste de mots-clés séparés par des virgules, une date au format 2026-08-20 : le texte arrive presque toujours avec une structure cachée à l'intérieur.

split est l'outil qui la fait apparaître, en transformant une String (chaîne de caractères) en Array (tableau) exploitable.


Définition

split(separateur) découpe la chaîne à chaque endroit où le séparateur apparaît et rend un tableau des morceaux. Les séparateurs eux-mêmes ne figurent pas dans le résultat, et la chaîne d'origine n'est pas modifiée.

JAVASCRIPT
const entete = "nom,email,pays";
console.log(entete.split(","));  // [ 'nom', 'email', 'pays' ]

const [annee, mois, jour] = "2026-08-20".split("-");
console.log(jour);  // "20"

console.log("aucune virgule ici".split(","));  // [ 'aucune virgule ici' ]

La deuxième ligne combine split et la Destructuration, ce qui donne trois variables nommées en une seule instruction. La troisième rappelle un point utile : quand le séparateur est absent, le résultat est un tableau d'un élément, jamais un tableau vide.


Découper avec une expression régulière

Un séparateur peut aussi être un motif, ce qui permet de traiter les cas où l'espacement est irrégulier ou où plusieurs symboles séparent les valeurs.

JAVASCRIPT
console.log("a b   c".split(" "));    // [ 'a', 'b', '', '', 'c' ]
console.log("a b   c".split(/\s+/));  // [ 'a', 'b', 'c' ]

console.log("2026-08-20T10:30".split(/[-T:]/));  // [ '2026', '08', '20', '10', '30' ]

La première ligne montre ce qui arrive avec un séparateur littéral : deux espaces consécutifs produisent une chaîne vide entre les deux. Le motif \s+, qui signifie « un ou plusieurs caractères d'espacement », règle le problème. Les motifs sont détaillés dans RegExp.


La limite, et le piège du séparateur vide

Un second argument facultatif borne le nombre de morceaux rendus. Le reste de la chaîne est abandonné, il n'est pas placé dans le dernier élément.

JAVASCRIPT
console.log("fr,en,es,de".split(",", 2));  // [ 'fr', 'en' ]

console.log("abc".split(""));   // [ 'a', 'b', 'c' ]
console.log("a👍".split(""));   // trois éléments, l'émoji est coupé en deux
console.log([..."a👍"]);        // [ 'a', '👍' ], deux éléments
Bon à savoir

Découper avec "" travaille sur des unités de code, pas sur des caractères visibles. Les émojis et certaines écritures occupent deux unités et se retrouvent coupés en morceaux illisibles. Pour obtenir les caractères réels, utilisez Spread (...) ou Array.from.


Questions fréquentes

Question

Comment refaire une chaîne à partir du tableau ?

Avec join, l'opération inverse : ["fr", "en"].join(", ") rend "fr, en". L'aller-retour split puis join est la manière la plus courte de normaliser un séparateur, par exemple pour remplacer des points-virgules par des virgules.


Question

Peut-on découper un vrai fichier CSV avec split ?

Sur des données simples, oui. Dès qu'un champ contient une virgule entre guillemets, un saut de ligne ou un guillemet échappé, le découpage naïf casse silencieusement. Le format est plus subtil qu'il n'y paraît, et une bibliothèque dédiée évite une catégorie entière de bugs de données.


Question

Que rend split sans aucun argument ?

Un tableau contenant la chaîne entière, en un seul élément. C'est le cas à connaître quand le séparateur vient d'une variable qui peut valoir undefined : au lieu d'une erreur, vous recevez un tableau qui semble correct et un traitement qui ne découpe rien.

Termes connexes

Découvrez notre glossaire JavaScript

Tous les mots de JavaScript expliqués simplement : mots-clés, objets natifs, méthodes, erreurs et concepts. Définitions claires et exemples qui tournent, pour apprendre et pour se dépanner.

Partager cet article

Tu veux nous aider ? Fais un lien vers cet article sur tes réseaux ou encore mieux : sur ton site, dans un article ou dans ta newsletter.