111 votes

Comment supprimer des nombres d'une chaîne ?

Je veux supprimer des nombres d'une chaîne :

questionText = "1 ding ?"

Je veux remplacer le nombre 1 et le point d'interrogation ?. Ça peut être n'importe quel numéro. J'ai essayé le code de non-fonctionnement suivant.

questionText.replace(/[0-9]/g, '');

211voto

Kobi Points 65357

Très proche, essayez :

questionText = questionText.replace(/[0-9]/g, '');

replace ne fonctionne pas sur la chaîne existante, elle en renvoie une nouvelle. Si vous voulez l'utiliser, vous devez le garder !
De même, vous pouvez utiliser une nouvelle variable :

var withNoDigits = questionText.replace(/[0-9]/g, '');

Une dernière astuce pour enlever des blocs entiers de chiffres à la fois, mais que l'on peut aller trop loin :

questionText = questionText.replace(/\d+/g, '');

10voto

Spudley Points 85371

Vous êtes remarquablement proche.

Voici le code que vous avez écrit dans la question :

questionText.replace(/[0-9]/g, '');

Le code que vous avez écrit regarde effectivement la variable questionText, et produit une sortie qui est la chaîne originale, mais avec les chiffres remplacés par une chaîne vide.

Cependant, il ne l'affecte pas automatiquement à la variable d'origine. Vous devez spécifier à quoi l'assigner :

questionText = questionText.replace(/[0-9]/g, '');

3voto

captainozlem Points 31

Vous pouvez utiliser les méthodes .match&& join(). .match() renvoie un tableau et .join() fait une chaîne de caractères

function digitsBeGone(str){
  return str.match(/\D/g).join('')
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X