Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Thay thế tất cả từ cụ thể trong câu dựa trên mảng từ trong JavaScript

Chúng ta cần viết hàm JavaScript nhận một chuỗi và một mảng chuỗi. Hàm trả về chuỗi mới, trong đó tất cả các lần xuất hiện của từ trong chuỗi có mặt trong mảng được thay thế bằng khoảng trắng. Hàm phải dùng String.prototype.replace().

Ví dụ

Mã cho việc này:

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

Đầu ra

Kết quả trên console:

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.