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

使用JavaScript正则表达式替换XML起始声明标签

移除JavaScript字符串中的XML声明标签

要匹配并移除所有以<?XML开头、?>结尾的字符串,可以使用正则表达式结合replace()方法实现,同时兼顾全局匹配、大小写兼容和跨行场景:

代码示例

// 原始字符串,包含多个XML声明
const rawString = '<?XML version="1.0" encoding="UTF-8" ?>测试内容<?xml standalone="yes" ?>更多文本';
// 移除所有符合规则的XML声明
const processedString = rawString.replace(/<\?XML[\s\S]*?\?>/gi, '');

console.log(processedString);
// 输出:"测试内容更多文本"

正则表达式说明

  • <\?XML:匹配开头的<?XML,\?是对问号的转义(问号在正则中是特殊元字符)
  • [\s\S]*?:匹配任意字符(包括换行符),*?是非贪婪匹配模式,确保只匹配到最近的?>,避免误删多个声明之间的内容
  • \?>:匹配结尾的?>
  • gi标志:g表示全局匹配所有符合规则的片段;i表示忽略大小写,兼容<?xml小写的情况

如果可以确定XML声明都是单行内容,也可以将[\s\S]*?替换为.*?,效果一致但更简洁:

const processedString = rawString.replace(/<\?XML.*?\?>/gi, '');

内容的提问来源于stack exchange,提问作者Ivan Fernandes Garcia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 23:36:19