นับจำนวนคำเฉพาะทั้งหมดในสตริง JavaScript

Nov 27 2020

ฉันต้องการทราบจำนวนครั้งที่คำเฉพาะเกิดขึ้นใน String JavaScript หรือเราสามารถพูดจำนวนคำที่ตรงกัน / จับคู่ด้วยสตริงประโยคที่สมบูรณ์ใน JavaScript

query = "fake";

var inputString = "fakefakefakegg fake 00f0 221 Hello wo fake misinfo fakeddfakefake , wo misinfo misinfo co wo fake , fake fake fake ";

ผลลัพธ์ที่คาดหวัง = 13 (มี 13 ปลอมในประโยคด้านบน)

คำตอบ

FarbodAprin Nov 27 2020 at 11:02

ต่อไปนี้เป็นสองวิธีในการค้นหาจำนวนคำที่ตรงกันทั้งหมดในสตริง

ฟังก์ชันแรกช่วยให้คุณสามารถให้แบบสอบถามเป็นอินพุตได้ อันที่สองใช้ฟังก์ชัน. match ของ JavaScript

ทั้งสองวิธีที่แนะนำมีความทนทานต่อตัวอักษรใด ๆ และไม่ขึ้นกับตัวแยกและตัวคั่นเช่น "" หรือ ","

str1 คือข้อความค้นหาของคุณ

 str1 = "fake";  

str2 คือสตริงทั้งหมด:

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

วิธีที่ 1: ใช้ฟังก์ชัน. indexOf หรือ .search ของ JavaScript (ประโยชน์ที่คุณสามารถป้อนข้อมูลได้)

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

วิธีที่ 2: ใช้ฟังก์ชัน. match ของ 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;
}

เรียกใช้ฟังก์ชัน (อินพุต):

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