Anzahl Gesamtmenge eines bestimmten Wortes in einem String-JavaScript

Nov 27 2020

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

FarbodAprin Nov 27 2020 at 11:02

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