如何用字符串数组替换句子的一部分?

How to replace parts of a sentence with array of strings?

我有这句话:

span class="searchmatch" Program /span, programme, programmer, or span class="searchmatch" programming /span may refer to: span class="searchmatch" Program /span management, the process of managing several related projects Time management Program

我想删除所有标签,这样它就会像:

Program, programme, programmer, or programming may refer to:  management, the process of managing several related projects Time management Program.

所以我把句子分成这样的数组: const arrayContent = result.snippet.split(' ');

并制作了一组我想删除的单词,如下所示: const removedText = ['span class="searchmatch"', '/span'];

是否有接收两个数组的函数(就像arrayContent和removedText),搜索第一个数组中是否有与第二个数组中的字符串匹配的字符串,如果是,则将其替换为空字符串?

我会像这样使用正则表达式:

const toRemove = ['span class="searchmatch"', '/span'];

// create regex like "a|b|c|..." according to what the array contains
const regex = new RegExp(toRemove.join("|"), 'gi');

const oldString = `span class="searchmatch" Program /span, programme, programmer, or span class="searchmatch" programming /span may refer to: span class="searchmatch" Program /span management, the process of managing several related projects Time management Program`

const newString = oldString.replaceAll(regex, '');

console.log(newString);

这样的函数呢:

const removeStrings: string = (text: string, array: string[]) => {
    let resultText = Object.assign({}, text);

    array.forEach(item => {
        if (resultText.includes(item)) {
            resultText = resultText.replaceAll(item, '');
        }
    });

    return resultText;
}

或者两个数组:

const removeStrings: string[] = (array1: string[], array2: string[]) => {
    let resultArr = Object.assign({}, array1);

    resultArr = resultArr.map(item1 =>
        array.forEach(item => {
            if (item1 === item)) {
                return '';
            }
        });

        return item1;
    });

    return resultArr;
}