js字符串替换(replace)
记录一个开发中所犯的错误。
- 需求:用js将字符串中的某些子字符串替换为指定的新字符串。
- 实现思路:印象中js字符串替换有
replace
方法,replace
方法接收两个参数,第一个为要替换的子字符串或正则匹配模式,第二个参数为新字符串。自己对正则不熟,认为用字符串能满足需求。
简单测试
var str="apples are round";
var newStr = str.replace('apples','oranges')
//newStr 值为:oranges are round
- 运行结果正确,到项目中错了,错误原因:当
replace
方法的第一个参数为字符串时,仅仅是第一个匹配会被替换。
再次测试
var str1="apples are round, and apples are juicy.";
var newStr1 = str1.replace('apples','oranges');
//newStr1 值为:oranges are round, and apples are juicy.
- 运行结果与期望不符,只被替换一个。
- 解决:还需要使用正则表达式:正则表达式包含有全局替换(g)和忽略大小写(i)的选项。
var str2="apples are round, and apples are juicy.";
var newStr2 = str2.replace(/apples/g,'oranges');
//newStr2 值为:oranges are round, and oranges are juicy.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)