JavaScript - Compter le nombre de mots

Bonjour,

SVP, comment je peux compter le nombre de mots contenu dans une chaîne de caractères en JavaScript.

Par exemple si j’ai le texte « Hello World! » ça doit afficher 2

J’ai essayez le code suivant, mais ne fonctionne pas:

function count(txt) {
  var s = 0;
  for (var i = 0; i < txt.length; i++)
    if (str(i) === " ") {
      s = +1; 
  }
  s += 1;
}

console.log(count("Hello World!"));

Quelqu’un peut m’aider à compter le nombre de mots contenu dans une chaîne de caractères???

C’est assez facile, tu peux divisez la chaine en utilisant la méthode split() puis utiliser length pour compter le nombre de mots.

function count(str) { 
  return str.split(" ").length;
}

console.log(count("hello world!"));   // 2

Essayez les méthodes suivants pour compter le nombre de mots contenu dans une chaîne de caractères avec JavaScript.

Méthode 1:

function count(str) {
  return str.trim().split(/\s+/).length;
}

Méthode 2:

function count(str) {
     return str.split(' ')
            .filter(function(n) { return n != '' })
            .length;
}

Méthode 3:

var words = function(str){
    var res = str.match(/\S+/g) ;
    return res?res.length:0;
}

String.prototype.match renvoie un tableau, nous pouvons alors vérifier la longueur,

Je trouve que cette méthode est la plus descriptive

var str = 'hello world!';

str.match(/\w+/g).length;

Si vous utiliser la bibliothéque jQuery, essayez le code suivant pour compter le nombre de mots contenu dans une chaîne de caractères: