Comment supprimer le dernier mot dans la chaîne en utilisant JavaScript

J'aimerais savoir comment puis-je supprimer le dernier mot dans la chaîne en utilisant JavaScript?

Par exemple, la chaîne est "Je souhaite supprimer le dernier mot".

Après avoir utilisé le retrait, la chaîne dans la zone de texte affichera "Je souhaite supprimer le dernier"

J'ai vu comment supprimer le dernier caractère à l'aide de la fonction de sous-chaîne, mais parce que le dernier mot peut être différent à chaque fois. Existe-t-il un moyen de compter le nombre de mots requis pour supprimer en JavaScript?

Merci

var str = "I want to remove the last word."; var lastIndex = str.lastIndexOf(" "); str = str.substring(0, lastIndex); 

Obtenez le dernier espace et obtenez sub string.

Utilisation de la fonction split

 var myString = "I want to remove the last word"; var mySplitResult = myString.split(" "); var lastWord = mySplitResult[mySplitResult.length-1] 

Vous pouvez faire une expression régulière simple comme suit:

 "I want to remove the last word.".replace(/\w+[.!?]?$/, '') >>> "I want to remove the last" 

Trouver le dernier index pour " " est probablement plus rapide. C'est juste moins de code.

Un moyen simple de le faire serait d'utiliser les méthodes LastIndexOf () et substr () de JavaScript:

 var myString = "I want to remove the last word"; myString = myString.substring(0, myString.lastIndexOf(" ")); 

Vous pouvez faire correspondre le dernier mot suivant un espace qui n'a pas de mot qui le suit.

 word=/s+\W*([a-zA-Z']+)\W*$/.exec(string); if(word) alert(word[1]) 

La réponse la plus courte à cette question serait comme ci-dessous,

 var str="I want to remove the last word".split(' '); var lastword=str.pop(); console.log(str.join(' '));