String. prototype. split()
Découpe une chaîne en un tableau de fragments selon un séparateur : un caractère, un texte ou une expression régulière.
- Renvoie
- Un nouveau tableau de chaînes.
- Modifie l’original
- Non
Exemple
#const tags = 'html,css,javascript'
const sentence = 'J’apprends à coder chaque jour'
console.log(tags.split(','))
console.log(sentence.split(' '))
console.log(tags.split(',', 2))Définition et utilisation
#La méthode split() cherche un séparateur dans la chaîne et coupe le texte à chaque endroit où elle le trouve. Les fragments atterrissent dans un nouveau tableau, et le séparateur lui-même disparaît. C’est le moyen de base pour transformer un texte, par exemple une liste d’étiquettes séparées par des virgules ou une phrase, en tableau facile à traiter avec les méthodes de tableaux.
Le séparateur peut être un texte ou une expression régulière, par exemple /\s+/ pour n’importe quel nombre d’espaces. Une chaîne vide "" découpe le texte en unités UTF-16 individuelles, ce qui casse les emoji ; pour découper en caractères, préférez [...text]. Sans séparateur, vous obtenez un tableau avec la chaîne entière comme unique élément.
Le second argument, limit, limite le nombre d’éléments du résultat. Quand le séparateur se trouve au début, à la fin, ou deux fois de suite, des chaînes vides apparaissent dans le tableau. L’opération inverse est join() sur un tableau.
Syntaxe
#string.split(separator)
string.split(separator, limit)Paramètres
#separator
string | RegExp, optionnel
Texte ou expression régulière indiquant où découper. Omis, vous obtenez un tableau à un seul élément : la chaîne entière.limit
number, optionnel
Nombre maximal d’éléments dans le résultat. Le reste du texte est ignoré.
Plus d’exemples
#const input = ' React, Vue ,Angular '
const frameworks = input
.split(',')
.map((name) => name.trim())
console.log(frameworks)
console.log('un deux trois'.split(/\s+/))console.log('a,,b,'.split(','))
console.log('mot'.split(''))
console.log('Salut👋'.split('').length, [...'Salut👋'].length)Des chaînes vides apparaissent entre deux virgules et après la dernière. split("") coupe l’emoji en deux moitiés, c’est pourquoi il est plus sûr d’utiliser [...text] pour découper un texte en caractères.
const row = 'Léa;120;JavaScript'
const [name, points, course] = row.split(';')
console.log(name, Number(points) + 30, course)
const lines = 'ligne 1\nligne 2\nligne 3'.split('\n')
console.log(lines.length)Compatibilité des navigateurs
#Largement disponible
Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.
- Chrome
- Edge
- Firefox
- Safari
Bonnes pratiques
#- Après
split(), il est souvent utile d’enchaînermap((part) => part.trim()), car les données saisies par des humains contiennent des espaces superflus. - Les nombres issus d’un découpage restent des chaînes. Convertissez-les avec
Number()avant tout calcul, sinon"120" + 30donne"12030". - Pour découper en caractères, utilisez
[...text]ouArray.from(text).split("")coupe les emoji en moitiés incorrectes.
Entrées associées
#- Array.prototype.join()Assemble les éléments du tableau en une seule chaîne avec le séparateur choisi.
- String.prototype.slice()Renvoie un fragment de la chaîne entre un indice de départ et un indice de fin (exclu). Prend en charge les indices négatifs.
- String.prototype.trim()Supprime les espaces blancs aux deux extrémités de la chaîne : espaces, tabulations et retours à la ligne.
- String.prototype.match()Fait correspondre une chaîne à une expression régulière. Renvoie un tableau avec la correspondance, toutes les correspondances, ou null.
- RegExpUne expression régulière : un modèle pour rechercher, valider et remplacer des fragments de texte.
- DéstructurationLa déstructuration (destructuring) extrait des valeurs de tableaux et d’objets directement vers des variables séparées.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.