本文深入解析 JavaScript 中 String.replace() 方法的语法与核心机制。详细对比字符串与正则表达式在替换次数上的差异,演示全局替换 (g) 的应用。通过调换姓名格式、转换引号样式及首字母大写等实例,展示如何利用捕获组与回调函数实现复杂的字符串处理逻辑,帮助开发者掌握高效字符串操作技巧。
String.replace() 方法简介
String.replace() 简介
语法:
代码如下:
string.replace(regexp, replacement) regexp 参数指定执行替换的正则表达式。若传入字符串,则视为普通字符仅替换第一次出现;若为带有 global (g) 修饰符的正则表达式,则替换所有匹配项,否则仅执行一次替换。
replacement 指定用于替换的新字符串内容。
该方法返回执行替换操作后的新字符串。
基础替换与全局替换
String.replace() 的简单用法
代码如下:
var text = "javascript 非常强大 !";
text.replace(/javascript/i, "JavaScript");
// 返回:JavaScript 非常强大 ! String.replace() 替换所有出现的目标字符
代码如下:
var text= "javascript 非常强大 !JAVASCRIPT 是我最喜欢的一门语言 !";
text.replace(/javascript/ig, "JavaScript");
// 返回:JavaScript 非常强大 !JavaScript 是我最喜欢的一门语言 ! 利用正则捕获组调换位置
String.replace() 实现调换位置
代码如下:
var name= "Doe, John";
name.replace(/(\w+)\s*,\s*(\w+)/, "$2 $1");
// 返回:John Doe 替换引号内容样式
String.replace() 实现将所有双引号包含的字符替换成中括号包含的字符
代码如下:
var text = '"JavaScript" 非常强大!';
text.replace(/"([^"]*)"/g, "[$1]");
// 返回:[JavaScript] 非常强大! 使用回调函数实现首字母大写
String.replace() 将所有字符首字母大写
代码如下:
var text = 'a journey of a thousand miles begins with single step.';
text.replace(/\b\w+\b/g, function(word) {
return word.substring(0,1).toUpperCase( ) +
word.substring(1);
});
// 返回:A Journey Of A Thousand Miles Begins With Single Step.