js中关于String对象的replace使用详解


Posted in Javascript onMay 24, 2011

今天在读Qwrap的源码stringH时里边有个

format: function(s, arg0) { 
var args = arguments; 
return s.replace(/\{(\d+)\}/ig, function(a, b) { 
return args[(b | 0) + 1] || ''; 
}); 
}

它的使用方式是:
alert(format("{0} love {1}.",'I','You'))//I love you
format的实现方式主要是用到了String对象的replace方法:

replace:返回根据正则表达式进行文字替换后的字符串的复制。

1.平时常用到的replace

function ReplaceDemo(){ 
var r, re; // 声明变量。 
var ss = "The man hit the ball with the bat.\n"; 
ss += "while the fielder caught the ball with the glove."; 
re = /The/g; // 创建正则表达式模式。 
r = ss.replace(re, "A"); // 用 "A" 替换 "The"。 
return(r); // 返回替换后的字符串。 
} 
ReplaceDemo(); //A man hit the ball with the bat. while the fielder caught the ball with the glove.

2.替换模式中的子表达式
function ReplaceDemo(){ 
var r, re; // 声明变量。 
var ss = "The rain in Spain falls mainly in the plain."; 
re = /(\S+)(\s+)(\S+)/g; // 创建正则表达式模式。 
r = ss.replace(re, "$3$2$1"); // 交换每一对单词。 
return(r); // 返回结果字符串。 
} 
document.write(ReplaceDemo()); //rain The Spain in mainly falls the in plain.

匹配正则的项:The rain,in Spain,falls mainly,in the;执行ss.replace(re, "$3$2$1")操作,完成单词位置的交换

$1匹配的是第一个(\S+)

$2匹配的是(\s+)

$3匹配的是第二个(\S+)

3.replace第二个参数是function时

function f2c(s){ 
var test = /(\d+(\.\d*)?)F\b/g; // 初始化模式。 
return(s.replace(test,function($0,$1,$2){return((($1-32)) + "C");})); 
} 
f2c("Water boils at 212F 3F .2F 2.2F .2");//Water boils at 180C -29C .-30C -29.8C .2

$0匹配 212F,3F,.2F,2.2F
$1匹配 212,3,.2,2.2
$2匹配 最后一个.2
Javascript 相关文章推荐
JavaScript 放大镜 移动镜片效果代码
May 09 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
Aug 28 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
Mar 05 Javascript
AngularJS基础 ng-keyup 指令简单示例
Aug 02 Javascript
js实现多图左右切换功能
Aug 04 Javascript
微信小程序 用户数据解密详细介绍
Jan 09 Javascript
写一个移动端惯性滑动&回弹Vue导航栏组件 ly-tab
Mar 06 Javascript
vue-swiper的使用教程
Aug 30 Javascript
js中位运算的运用实例分析
Dec 11 Javascript
js序列化和反序列化的使用讲解
Jan 19 Javascript
toString.call()通用的判断数据类型方法示例
Aug 28 Javascript
基于JavaScript实现简单抽奖功能代码实例
Oct 20 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
May 24 #Javascript
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
May 24 #Javascript
基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)
May 24 #Javascript
三级下拉菜单的js实现代码
May 23 #Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
May 23 #Javascript
在Javascript里访问SharePoint列表数据的实现方法
May 22 #Javascript
SharePoint 客户端对象模型 (一) ECMA Script
May 22 #Javascript
You might like
浅谈COOKIE和SESSION区别
2015/07/19 PHP
微信获取用户地理位置信息的原理与步骤
2015/11/12 PHP
checkbox 复选框不能为空
2009/07/11 Javascript
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
2013/05/07 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
js实现省市联动效果的简单实例
2014/02/10 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
js实现文字截断功能
2016/09/14 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
Bootstrap中data-target 到底是什么
2017/02/14 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
2017/02/23 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
vue路由守卫,限制前端页面访问权限的例子
2019/11/11 Javascript
Vue解决echart在element的tab切换时显示不正确问题
2020/08/03 Javascript
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
python3.4用循环往mysql5.7中写数据并输出的实现方法
2017/06/20 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
实例讲解Python爬取网页数据
2018/07/08 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
python logging模块的使用总结
2019/07/09 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
对python中list的五种查找方法说明
2020/07/13 Python
描述RIP和OSPF区别以及特点
2015/01/17 面试题
领导调研接待方案
2014/02/27 职场文书
廉洁使者实施方案
2014/03/29 职场文书
个人遵守党的政治纪律情况对照检查材料思想汇报
2014/09/25 职场文书
大学生先进个人主要事迹材料
2015/11/04 职场文书
《三国志》赏析
2019/08/27 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
各国货币符号大全
2022/02/17 杂记