javascript中替换字符串指定子串主要用replace()方法:默认只替第一个,全局替换需正则加g标志;含正则特殊字符须转义;支持函数参数实现动态替换。

JavaScript 中替换字符串里的指定子串,主要用 String.prototype.replace() 方法。它默认只替换第一个匹配项,要替换全部需配合正则表达式并添加全局标志 g。
替换第一个匹配的子串
直接传入字符串作为查找值,只会替换首次出现的位置:
const str = "apple banana apple";
const result = str.replace("apple", "orange");
console.log(result); // "orange banana apple"替换所有匹配的子串
用正则表达式,并带上 g(global)标志:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
const str = "apple banana apple"; const result = str.replace(/apple/g, "orange"); console.log(result); // "orange banana orange"
- 注意斜杠
/包裹正则,g不可省略 - 如果待替换的子串含特殊正则字符(如
.、*、$等),需先转义,否则会被当作正则语法处理
动态内容替换(避免正则陷阱)
当子串来自变量且不确定是否含正则元字符时,推荐手动转义或使用更安全的方式:
function escapeRegExp(string) {
return string.replace(/[.*+?^${}()|[]\]/g, '\$&');
}
<p>const search = "a.b<em>c";
const safeRegex = new RegExp(escapeRegExp(search), 'g');
const result = "x a.b</em>c y a.b*c z".replace(safeRegex, "replaced");
console.log(result); // "x replaced y replaced z"</p>用函数做高级替换
replace 的第二个参数可以是函数,用于根据匹配结果动态生成替换内容:
const str = "price: $12.99, discount: $3.50";
const result = str.replace(/$(d+.d+)/g, (match, dollars) => {
return `¥${(dollars * 7.2).toFixed(2)}`;
});
console.log(result); // "price: ¥93.53, discount: ¥25.20"-
match是完整匹配字符串,括号捕获的内容依次作为后续参数传入 - 适合需要计算、格式转换或条件判断的场景
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










