Count Total Amount Of Specific Word In a String JavaScript

后端 未结 1 533
时光取名叫无心
时光取名叫无心 2021-01-26 14:50

I want to find out how many time a specific words occur in a String JavaScript, or we can say the total amount of matched/match word with the complete sentence string in JavaScr

1条回答
  •  谎友^
    谎友^ (楼主)
    2021-01-26 15:28

    Here are two methods to find the total number of occurrence match words in the string.

    The first function allows you to give a query as input. The second one uses the .match function of JavaScript.

    Both introduced methods are resistant for any chars and independent of splitter and separator like " " or ",".

    str1 is your query

     str1 = "fake";  
    

    str2 is the whole string:

     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 ";
    

    Method 1 : use .indexOf or .search function of JavaScript (advantage you can give input)

    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;
       }
    

    Method 2 : use .match function of 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;
    }
    

    call the functions (Inputs):

    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
    

    0 讨论(0)
提交回复
热议问题