Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

แทนที่คำเฉพาะในประโยคทั้งหมดตามอาร์เรย์คำใน JavaScript

เราต้องเขียนฟังก์ชันที่รับสตริงและอาร์เรย์ของสตริง ฟังก์ชันควรคืนค่าสตริงใหม่ ที่คำในสตริงทั้งหมดที่อยู่ในอาร์เรย์ถูกแทนที่ด้วยช่องว่าง ต้องใช้ String.prototype.replace()

ตัวอย่าง

โค้ดสำหรับนี้:

var excludeWords = ["A", "ABOUT", "ABOVE", "ACROSS", "ALL", "ALONG", "AM", "AN", "AND", "ANY", "ASK", "AT", "AWAY", "CAN", "DID", "DIDN'T", "DO", "DON'T", "FOR", "FROM", "HAD", "HAS", "HER", "HIS", "IN", "INTO", "IS", "IT", "NONE", "NOT", "OF", "ON", "One", "OUT", "SO", "SOME", "THAT", "THE", "THEIR", "THERE", "THEY", "THESE", "THIS", "TO", "TWIT", "WAS", "WERE", "WEREN'T", "WHICH", "WILL", "WITH", "WHAT", "WHEN", "WHY"]; var sentence = "The first solution does not work for any UTF-8 alphaben. I have managed to create function which do not use RegExp and use good UTF-8 support in JavaScript engine. The idea is simple if symbol is equal in uppercase and lowercase it is special character. The only exception is made for whitespace."; const removeExcludedWords = (str, words) => { let sentence = ''; const regex = new RegExp(`\\b(${words.join('|')})\\b`, 'gi'); sentence = str.replace(regex, ""); return sentence; }; console.log(removeExcludedWords(sentence, excludeWords));

ผลลัพธ์

ผลลัพธ์ในคอนโซล:

first solution does work UTF-8 alphaben. I have managed create function use RegExp use good UTF-8 support JavaScript engine. idea simple if symbol equal uppercase lowercase special character. only exception made whitespace.