javascript substring
JavaScript

Javascript substring : comment manipuler des string facilement?

Nous allons voir dans cet article comment manipuler et modifier des variables string en javascript avec substring

Immutabilité des strings

Les variables strings ou chaînes de caractères sont des variables immutables. Ce qui veut dire que vous ne pouvez pas les modifier directement (caractères par caractères). Une variable string est en faites une variable array (tableau) de charactères. Vu qu’il est immutable vous ne pouvez pas modifier lettre par lettre :

let alphabet = "abccef";
alphabet[3] = "d"; // Ceci est totalement impossible

Il est en revanche possible de modifier toute la valeur de la variable :

let alphabet = "abccef";
alphabet = "abcdef"; // Ceci marche

Les variables string sont immutables pour éviter tout problèmes d’allocations de mémoire. Des notions bien compliquées dont vous vous fichez pas mal pour le moment. Si vous voulez en savoir plus sur le sujet tout de même je vous renvoie vers cet article : https://www.sitepoint.com/immutability-javascript/

javascript substring vs slice et replace

Malgré que les variables string soient immutables. Je souhaite modifier ma chaîne de caractères sans pour autant redéfinir toute ma variable. Comment puis-je faire?

javascript substring

La méthode substring permet de récupérer une partie d’une chaîne de caractères facilement. Il prend en paramètres l’index de début et l’index de fin de ce que vous voulez récupérez :

let monPokemon = 'Pikachu est mon ami';
let pikachu = monPokemon.substring(0,7); 
console.log(pikachu); //Pikachu

substring retourne une nouvelle chaîne de caractères que l’on peut stocker dans une nouvelle variable (ici la variable pikachu).

javascript slice

substring et slice sont très ressemblantes. Slice va avoir un peu plus de flexibilité selon moi, surtout sur les index négatifs. Pour voir tous le détails, je vous renvoie directement vers cet article.

let monPokemon = 'Mon meilleur ami, c'est Pikachu';
let pikachu = monPokemon.slice(monPokemon.length-8,monPokemon.length); 
console.log(pikachu); //Pikachu

A noter que j’ai utilisé dans cet exemple, la méthode length. Elle me permet de partir de la fin d’une chaîne de caractères pour préciser les indexes.

replace

Nous avons vu jusqu’à présent, comment récupérer des parties de chaînes de caractères. Il est temps de voir comment modifier des lettres et/ou caractères dans une variable string. Pour faire cela, nous allons utiliser la méthode replace :

const pokemonPrefere = "Mon pokemon préféré, c'est Pikachu";
console.log(pokemonPrefere.replace('Pikachu', 'Salamèche'));

Vous l’aurez compris, la méthode replace prend en premier paramètre votre recherche (ici Pikachu) puis en second paramètre, il prend la valeur par laquelle il doit la remplacer (ici Salamèche).

Il nous reste encore beaucoup à découvrir sur les variables string en javascript. Cet article fait office d’introduction et j’éspère vous aura plu.

Si vous voulez aller plus loin dans votre apprentissage en javascript, je ne peux que vous conseiller de lire cet article :
http://pierreterrat.com/javascript-:-le-guide-ultime-pour-bien-commencer-a-apprendre/

Beaucoup d’efforts et de temps sont passés pour vous fournir du contenu de qualité, merci de partager et de commenter cet article pour faire vivre ce blog.

2 commentaires

  • Ellinn

    Hello Pierre,

    Je te laisse à nouveau mon avis sur ton article. Il serait peut-être intéressant de préciser les nuances entre les méthodes substr() et substring() de Javascript histoire d’être un peu plus complet.

    Tu dis également que les strings sont immutable (ce qui est correct), le guide visant de jeunes développeurs, il serait probablement intéressant de préciser comment la méthode replace() fonctionne vu que nous ne sommes pas sensés pouvoir modifier le contenu d’un string.

    Bien à toi

    • pterrat

      Bonjour Ellinn,

      Encore une fois, un commentaire constructif, merci. J’ai volontairement omis ces informations pour ne pas surcharger. Il est fort probable que j’en parle postérieurement, dans un article ou ma formation vidéo.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *