首页 > 解决方案 > 如何用字符串数组替换句子的一部分?

问题描述

我有这句话:

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 一样),搜索第一个数组中是否有一个与第二个数组中的字符串匹配的字符串,如果有,用空字符串替换它?

标签: javascriptarraysreactjsreplacefind

解决方案


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

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


推荐阅读