js拾遗: replace 替换参数
先来看一个简单的例子吧。
var str = "123X321".replace("X", "$'");
替换后的 str 是什么呢?
是 "123$'321" 。。。吗??
如果你的浏览器是 IE6-8 的话,确实是这个结果,可是那只是变态IE的结果。
标准浏览器下会是什么呢?
var str = "123X321".replace("X", "$'");
console.log(str);
点击右上角 运行 看看结果吧。
竟然是 "123321321" 为什么会是这个结果呢?
还是看权威的文档吧,《Specifying a string as a parameter》。
在这里,我们可以看到 $$, $&, $`, $' 和 $n/$nn 的格式。
相信很多学过 js 正则的应该都用印象。
其实我一直以为只有在正则里才能用这些替换参数,直到前些天被坑才真正掌握这个知识点。
其实 $$, $&, $`, $' 在普通字符串替换时也可以使用
$$ 表示 $ 字符
$& 表示匹配到的字符
$` 表示匹配到的字符之前的那部分
$' 表示匹配到的字符之后的那部分
但是 $n 或 $nn 只有在正则模式捕获组才能使用。
例如
var str = "123X321";
console.log( "$$", str.replace("X", "$$") ); // X 换成了 $
console.log( "$&", str.replace("X", "$&") ); // X 换成了 X
console.log( "$`", str.replace("X", "$`") ); // X 换成了 123
console.log( "$'", str.replace("X", "$'") ); // X 换成了 321
console.log( "$'", str.replace(/X/, "$'") ); // X 换成了 321// $n 这种格式只有正则能用
console.log( "$1", str.replace(/(X)(\d)/, "$1") ); // X3 换成了 X
console.log( "$2$1", str.replace(/(X)(\d)/, "$2$1") ); // X3 换成了 3X
这样应该很清楚这些替换参数的作用了吧,,千万别再次被坑到了。
js拾遗: replace 替换参数相关推荐
- Js中replace替换全部
Js中replace替换所有* var t = '***感**谢**有**你***'; var r = t.replace(/\*/g,''); //\为转义字符 g表示全局 console.log( ...
- js正则表达式/replace替换变量方法
转自:http://www.blogjava.net/pingpang/archive/2012/08/12/385342.html 1. javascript 正则对象替换创建和用法:/patter ...
- js字符串replace替换多个_汇总几大python常见字符串处理函数与用法(建议收藏)...
前言: 这篇文章主要介绍了python常见字符串处理函数与用法,结合实例形式详细分析了Python字符串操作函数find.join.replace及split功能.使用技巧与操作注意事项,需要的朋友可 ...
- js 使用replace替换、全部替换、替换动态数据方法
1.替换: let s = 'a,b,c,d'; s = s.replace(',','-');//输出: 'a-b,c,d' replace默认替换的是第一个. 2.全部替换 let s = 'a, ...
- 【javascript】js中replace替换失败的问题
错误例子 var a="123"; a.replace("12","2"); console.log(a); bb并没有替换成功 正确例子: ...
- js 用replace替换空格 替换空格包含换行符 替换空格不包含换行符
第一种:替换所有的空格(包含换行符) let str = '123AD asadf asadfasf\n adf\n' let a = str.replace(/\s+/g," " ...
- JS中用replace替换特殊字符
1.替换一个字符 taskName=taskName.replace(/<p>/,"");或者 taskName=taskName.replace("< ...
- 关于js中replace()只能替换字符串中第一个对象的问题
工作中用到js的replace比较多,将一个字符串中某个内容替换成另一个内容,但是往往只找到第一个符合条件的内容后就不往后替换了,可以用正则来解决此问题. var a="aaa,bbb,cc ...
- js 正则表达式奇偶字符串替换_js正则表达式replace替换变量方法
JavaScript正则实战(会根据最近写的不断更新) 1.javascript 正则对象替换创建 和用法: /pattern/flags 先简单案例学习认识下replace能干什么 正则表达式构造函 ...
最新文章
- vfp中,函数subs(计算机管理信息系统,7)返回的结果是,VFP选择题库(可发学生).xls...
- 【PAT (Advanced Level) Practice】1001 A+B Format (20 分)
- pip安装库包以及.whl库包、.tar.gz库包具体方式
- 登录和oauth机制
- Job for network.service failed because the control process exited with error code问题
- wordcount代码_通过腾讯云 Serverless Regsitry 快速开发与部署一个 WordCount 实例
- java例程练习(一维数组)
- 纪事本 乱码_纪事日记–可自定义的数据存储
- OJ1055: 兔子繁殖问题(C语言计算斐波那契数列/“兔子数列”)
- C++ 为什么要用覆盖(学习笔记)
- 小米集团本周再回购1920万港元股票
- pod trunk push --verbose 失败的原因总结
- 美团外卖回应佣金争议;苹果回应戴口罩解锁 iPhone;新 Edge 浏览器明年将不再支持 Win7 | 极客头条...
- Linux 7配置named,centos7dns服务器配置文件name.conf权限问题
- python列表方法图解_python中list(列表)的使用方法总结(图文)
- Omnet 4.2.2 errorList
- android6.0 Activity(四) Surface创建
- 安卓ps模拟器_电脑安装模拟器配置要求
- ybt1109 开关灯
- 几行代码解决百度云视频变成 8秒净网公告问题(滑稽)
热门文章
- Fms3和Flex打造在线多人视频会议和视频聊天(附原代码)
- smartphone 创建快捷方式 shorcut(1)
- AndroidStudio安卓原生开发_Activity_生命周期_单activity的生命周期_多activity启动关闭的时候生命周期关系---Android原生开发工作笔记85
- MyCat分布式数据库集群架构工作笔记0005---Mycat的安装
- 持续集成部署Jenkins工作笔记0003---Web工程部署方式说明
- 杭电2529Shot
- swift函数的用法,及其嵌套实例
- java基础案例教程试题,Java基础案例教程-中国大学mooc-试题题目及答案
- 无人驾驶(ncnn学习)
- 随想录(keras入门)