Anzahl Gesamtmenge eines bestimmten Wortes in einem String-JavaScript
Ich möchte herausfinden, wie oft ein bestimmtes Wort in einem String-JavaScript vorkommt, oder wir können die Gesamtmenge des übereinstimmenden / übereinstimmenden Wortes mit der vollständigen Satzzeichenfolge in JavaScript sagen.
query = "fake";
var inputString = "fakefakefakegg fake 00f0 221 Hello wo fake misinfo fakeddfakefake , wo misinfo misinfo co wo fake , fake fake fake ";
erwartetes Ergebnis = 13 (es gibt 13 Fälschungen im obigen Satz)
Antworten
Hier sind zwei Methoden, um die Gesamtzahl der Übereinstimmungswörter in der Zeichenfolge zu ermitteln.
Mit der ersten Funktion können Sie eine Abfrage als Eingabe eingeben. Der zweite verwendet die .match-Funktion von JavaScript.
Beide eingeführten Methoden sind für alle Zeichen beständig und unabhängig von Splitter und Separator wie "" oder ",".
str1 ist deine Anfrage
str1 = "fake";
str2 ist die ganze Zeichenfolge:
var inputString = "fakefakefakegg fake 00f0 221 Hello wo fake misinfo
fakeddfakefake , wo 431,,asd misinfo misinfo co wo fake sosis bandari
mikhori?, fake fake fake ";
Methode 1: Verwenden Sie die .indexOf- oder .search-Funktion von JavaScript (Vorteil, den Sie eingeben können)
function CountTotalAmountOfSpecificWordInaString(str1, str2)
{
let next = 0;
let findedword = 0;
do {
var n = str2.indexOf(str1, next);
findedword = findedword +1;
next = n + str1.length;
}while (n>=0);
console.log("total finded word :" , findedword - 1 );
return findedword;
}
Methode 2: Verwenden Sie die .match-Funktion von JavaScript:
/**
* @return {number}
* you have to put fake as query manually in this solution!!! disadvantage
*/
function CountTotalAmountOfMachedWordInaString(str2) {
let machedWord = 0;
machedWord = str2.match(/fake/g).length;
console.log("total finded mached :" , machedWord);
return machedWord;
}
Rufen Sie die Funktionen (Eingänge) auf:
CountTotalAmountOfSpecificWordInaString("fake" , "fake fakefakegg fake 00f0 221 Hello wo fake rld fakefakefake , wo lklsak dalkkfakelasd co wo fake , fake fake fake" );
CountTotalAmountOfMachedWordInaString("sosis bandarie fake khiyarshour sosis , droud bar fake to sosis3");
//Function 1 Output: total Fake = 13 , Function 2 Output: total Fake = 2