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

JavaScript如何将字符串中的下划线替换为成对的<em>闭合标签

解决方法

你之前使用replaceAll会把所有匹配到的下划线统一替换为相同的内容,所以无法实现成对替换为开闭标签的需求,推荐使用正则捕获组的方式实现:

var Str = "_Hello_";
// 正则匹配成对下划线,捕获中间内容后拼接开闭标签
var newStr = Str.replace(/_(.*?)_/g, '<em>$1</em>');
console.log(newStr); // 输出结果为 <em>Hello</em>

代码说明

  • 正则/_.*?_/g中:
    • 首尾的_匹配目标下划线
    • .*?是非贪婪匹配,会尽可能短的匹配两个下划线之间的内容
    • 外层的括号()会把中间匹配到的内容捕获为分组1
  • 替换值中的$1就代表第一个分组捕获到的内容,前后拼接<em>和</em>就可以实现你要的效果

如果存在多组成对下划线的场景也可以正常处理,比如输入_Hello_ _World_,替换后会得到<em>Hello</em> <em>World</em>。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:54:06