You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript如何提取指定标识后的字符串内容并存入数组?

TypeScript提取指定前缀后的标签内容到数组

完全可以将abc和cd存入数组,下面提供两种实用的实现方式:

方法一:正则表达式匹配(适合固定结构)

针对你给出的固定字符串结构,用正则可以精准匹配Connectorparent和child之后的<strong>标签内内容:

const element = "Connectorparent<strong>abc</strong>child<strong>cd</strong>";
// 正则匹配前缀+strong标签,捕获标签内的文本
const targetRegex = /(?:Connectorparent|child)<strong>(.*?)<\/strong>/g;
const extractedContent: string[] = [];

// 遍历所有匹配结果,提取捕获的内容
for (const match of element.matchAll(targetRegex)) {
  extractedContent.push(match[1]);
}

console.log(extractedContent); // 输出: ["abc", "cd"]

正则说明:

  • (?:Connectorparent|child):非捕获分组,仅用来匹配指定前缀,不占用捕获结果
  • <strong>(.*?)<\/strong>:非贪婪匹配<strong>标签内的文本,避免跨标签匹配
  • matchAll:遍历所有符合规则的匹配项,提取每个匹配的第一个捕获组(即标签内的文本)

方法二:DOM解析(适合复杂HTML结构)

如果后续字符串的HTML结构可能变化,用DOM解析更稳定可靠:

const element = "Connectorparent<strong>abc</strong>child<strong>cd</strong>";
const parser = new DOMParser();
// 将字符串解析为HTML文档
const htmlDoc = parser.parseFromString(element, "text/html");
// 选择所有strong标签,提取文本内容
const extractedContent: string[] = Array.from(htmlDoc.querySelectorAll("strong"))
  .map(el => el.textContent ?? "");

console.log(extractedContent); // 输出: ["abc", "cd"]

解析说明:

  • DOMParser:浏览器内置API,将字符串转为标准DOM文档
  • querySelectorAll("strong"):获取所有<strong>元素
  • Array.from+map:将DOM元素列表转为数组,提取每个元素的文本内容

内容的提问来源于stack exchange,提问作者LIMJI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 09:33:17