用JavaScript实现全局替换,解决$等特殊符号的难题
感激海浪提供的正则表达式的帮助,原贴可参见[这里](
最佳实现方式的代码如下:
String.prototype.replaceAll = stringReplaceAll; // 定义一个全局替换函数
function stringReplaceAll(AFindText, ARepText) { // 创建新的替换函数,支持特殊符号和忽略大小写
var raRegExp = new RegExp(AFindText.replace(/([\(\)[\]\{\}\^\$\+\-\\?\.\"\'\|\/\\])/g,"\\$1"),"ig"); // 创建正则表达式,处理特殊字符并忽略大小写
return this.replace(raRegExp, ARepText); // 使用创建的表达式进行替换操作
}
var ssString=".lei.;.CnLei.;.lei."; // 测试字符串
alert(ssString.replaceAll("lei","ie")); // 将字符串中的"lei"替换为"ie"的演示
ssString=".${MyName}.;.${MyName}.;.${MyName}."; // 使用变量的测试字符串
alert(ssString.replaceAll("${MyName}","lei")); // 将字符串中的"${MyName}"替换为"lei"的演示
ssString=".{MyName}.;.{MyName}.;.{MyName}."; // 其他格式的测试字符串
alert(ssString.replaceAll("{MyName}","lei")); // 将字符串中的"{MyName}"替换为"lei"的演示
之前我们尝试过两种实现方式。方法一可以实现忽略大小写,但无法替换特殊符号。而方法二可以替换特殊符号$等,但无法忽略大小写。这两种方式都有其局限性,无法满足我们的全部需求。而现在,我们找到了一个完美的解决方案,既可以替换特殊符号,也可以忽略大小写。这对于我们的模板替换工具来说是一个巨大的进步。现在我们可以更轻松、高效地进行字符串替换操作了。
编程语言
- 用JavaScript实现全局替换,解决$等特殊符号的难题
- 如何禁止文本框的记忆功能方法集锦
- Windows系统中安装nodejs图文教程
- SQLserver安装时要求CDKEY的解决办法
- 浅析Vue项目中使用keep-Alive步骤
- js模糊查询实例分享
- ThinkPHP使用心得分享-上传类UploadFile的使用
- CodeIgniter中使用Smarty3基本配置
- asp 批量删除选中的多条记录的实现代码
- Ajax全局加载框(Loading效果)的配置
- 原来ASP和PHP都是可以删除自身的
- ASP codepage 页面编码使用说明
- NodeJs读取JSON文件格式化时的注意事项
- 微信小程序里使用SVG矢量图标方法详解
- PHP 读取大文件的X行到Y行内容的实现代码
- 浅谈jquery.fn.extend与jquery.extend区别