La méthode String replace ()

Tout savoir sur la méthode JavaScript replace () d'une chaîne

Trouve lepremièreapparition destr1dans la chaîne actuelle et la remplace parstr2.

Renvoie une nouvelle chaîne sans modifier la chaîne d'origine.

'JavaScript'.replace('Java', 'Type') //'TypeScript'

Vous pouvez passer unexpression régulièrecomme premier argument:

'JavaScript'.replace(/Java/, 'Type') //'TypeScript'

replace()ne remplacera que lepremièreoccurrence, sauf si vous utilisez une expression régulière comme chaîne de recherche et que vous spécifiez le global (/g) option:

'JavaScript JavaX'.replace(/Java/g, 'Type') //'TypeScript TypeX'

Le deuxième paramètre peut être une fonction. Cette fonction sera invoquée lorsque la correspondance sera trouvée (ou pourchaquecorrespond à foundm si vous utilisez une expression régulière globale/g), avec un certain nombre d'arguments:

  • la chaîne qui correspond au modèle
  • un entier qui spécifie la position dans la chaîne où la correspondance s'est produite
  • la ficelle

La valeur de retour de la fonction remplacera la partie correspondante de la chaîne.

Exemple:

'JavaScript'.replace(/Java/, (match, index, originalString) => {
  console.log(match, index, originalString)
  return 'Test'
}) //TestScript

Cela fonctionne également pour les chaînes régulières, pas seulement pour les expressions régulières:

'JavaScript'.replace('Java', (match, index, originalString) => {
  console.log(match, index, originalString)
  return 'Test'
}) //TestScript

Au cas où votre regex auraitcapture de groupes, ces valeurs seront transmises en tant qu'arguments juste après le paramètre de correspondance:

'2015-01-02'.replace(/(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/, (match, year, month, day, index, originalString) => {
  console.log(match, year, month, day, index, originalString)
  return 'Test'
}) //Test

Téléchargez mon gratuitManuel du débutant JavaScript


Plus de tutoriels js: