javascript的 replace() 方法的使用讲解
String.prototype.replace()
replace()
pattern
replacement
pattern
RegExp
replacement
Parameters
regexp (pattern)
- A
RegExp
object or literal. The match is replaced by the return value of parameter #2. substr (pattern)
- A
String
that is to be replaced bynewSubStr
. It is treated as a verbatim string and is notinterpreted as a regular expression. newSubStr (replacement)
- The
String
that replaces the substring received from parameter #1. A number of special replacement patterns are supported; see the "Specifying a string as a parameter" section below. function (replacement)
- A function to be invoked to create the new substring (to put in place of the substring received from parameter #1). The arguments supplied to this function are described in the "Specifying a function as a parameter" section below.
- 例子:
- 例1:
-
123
var
str =
'Twas the night before Xmas...'
;
var
newstr = str.replace(/xmas/i,
'Christmas'
);
console.log(newstr);
// Twas the night before Christmas...
例2:
1234var
re = /apples/gi;
var
str =
'Apples are round, and apples are juicy.'
;
var
newstr = str.replace(re,
'oranges'
);
console.log(newstr);
// oranges are round, and oranges are juicy.
例3:
1234var
re = /(\w+)\s(\w+)/;
var
str =
'John Smith'
;
var
newstr = str.replace(re,
'$2, $1'
);
console.log(newstr);
// Smith, Joh
例4:
123456function
styleHyphenFormat(propertyName) {
function
upperToHyphenLower(match) {
return
'-'
+ match.toLowerCase();
}
return
propertyName.replace(/[A-Z]/g, upperToHyphenLower);
}
例5:
123456function
replacer(match, p1, p2, p3, offset, string) {
// p1 is nondigits, p2 digits, and p3 non-alphanumerics
console.log(arguments);
return
[p1, p2, p3].join(
' - '
);
}
var
newString =
'abc12345#$*%aaa'
.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现