深入replace
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
stringObject.replace(reg/str,str/replacement);
这里主要讲一下replacement的用法,
对replace用法做到收放自如主要难点就在replacement上了,
先看个例子1:
(function(){
var str="Aa1 Ba1 Ca1";
str.replace(/[a][1]/g,function(){return "--"});
})()
结果是A-- B-- C--
这是最基础的replacement的用法,把a1替换成了--;
再看个例子2:
(function(){
var str="Aa1 Ba1 Ca1";
str.replace(/[a][1]/g,function(x){
return x+'--';
});
})();
结果是:Aa1-- Ba1-- Ca1--
发现点了什么吧,replacement这里的函数是对匹配到的元素进行加工的;记住正则里面要用全局搜索标示符g;
再看个例子3(前面做的练习都是为了写这个方法):
function reg(a){
var pattern=/[\{][\d][\}]/g,
args=Array.prototype.slice.call(arguments),
str=args[0],
arr=args.slice(1),
flag=-1;
alert(args.length)
return str.replace(pattern,function(q){
flag++;
return q.replace(q,arr[flag]);
});
}
reg("hello {1},my name is {2}","world","lu")
这个例子不做解释了,感兴趣的看看它在做什么吧,对replace的理解有帮助的
最新文章
- mac os设置root密码
- 基于Linux平台的libpcap源码分析和优化
- 关于htmlspecialchars实体字符转码的问题
- Nodejs Express 4.X 中文API 1--- Application篇
- Python命令行解析库argparse
- Lombok(1.14.8) - @Getter, @Setter, @ToString, @EqualsAndHashCode &; @Data
- 登陆shell与交互式非登陆shell的区别
- shell脚本练习(autocert)
- Flex4开发笔记(与JAVA交互)
- Ubuntu16.04 install eclipse-jee-oxygen-R-linux-gtk-x86_64
- asp.net core 实现一个简单的仓储
- iOS 提交AppStore不出现构建的版本
- Python变量的本质与intern机制
- matlab二维绘图学习摘要
- DATAPUMP PERFORMANCE EXPDP IS VERY SLOW 10.2.0.4 TO 11.2.0.2
- Solr记录-solr内核与索引
- Jsp重定向(response.sendRedirect())和转发(request.getRequestDispatcher().forward(request,r)的差别
- CoderForce 141C-Queue (贪心+构造)
- 【Linux】在虚拟机上安装CentOS7
- Tslib步骤以及出现问题的解决方案(转)