javascript - 如何用字符串数组替换句子的一部分?
问题描述
我有这句话:
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);
推荐阅读
- ios - 无法将类型“TLPHAsset”的值分配给类型“UIImage?”
- bash - Bash:没有垃圾字符的尾日志
- jsf - p:datatable 组件不排序,只有当我过滤它之前
- arrays - 数组中的最大差异未通过 HackerRank 中的所有测试用例
- android - Android 移除对现有应用程序的 x86 和 x86_64 支持
- javascript - HttpInterceptor 不适用于所有请求
- typescript - 在 TypeScript 中,是否可以从字符串的输入类型推断可区分联合的字符串文字类型?
- azure - 时间序列洞察正在烧钱。删除它是否安全?
- css - 在 gtk 刻度上更改滑块大小
- python - pandas sqlite - 没有这样的变量列