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中对对层的控制
Dec 29 Javascript
javascript是怎么继承的介绍
Jan 05 Javascript
js 控制下拉菜单刷新的方法
Mar 03 Javascript
用JS做的简单的可折叠的两级树形菜单
Sep 21 Javascript
javascript 寻找错误方法整理
Jun 15 Javascript
js操作DOM--添加、删除节点的简单实例
Jul 08 Javascript
一个简单的JavaScript Map实例(分享)
Aug 03 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
Mar 01 Javascript
vue+iview+less 实现换肤功能
Aug 17 Javascript
微信小程序实现保存图片到相册功能
Nov 30 Javascript
如何检查一个对象是否为空
Apr 11 Javascript
使用typescript构建Vue应用的实现
Aug 26 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
PHP中调用JAVA
2006/10/09 PHP
使用sockets:从新闻组中获取文章(二)
2006/10/09 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
2011/07/12 PHP
PHP+jQuery 注册模块开发详解
2014/10/14 PHP
适用于初学者的简易PHP文件上传类
2015/10/29 PHP
PHP.vs.JAVA
2016/04/29 PHP
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
2012/10/11 Javascript
分享我对JS插件开发的一些感想和心得
2016/02/04 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
2018/10/31 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
在vue-cli中引入lodash.js并使用详解
2019/11/13 Javascript
谈谈JavaScript中的垃圾回收机制
2020/09/17 Javascript
Python struct.unpack
2008/09/06 Python
python实现异步回调机制代码分享
2014/01/10 Python
在Python中使用判断语句和循环的教程
2015/04/25 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
python如何解析配置文件并应用到项目中
2019/06/27 Python
python实现信号时域统计特征提取代码
2020/02/26 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
【HTML5】3D模型--百行代码实现旋转立体魔方实例
2016/12/16 HTML / CSS
Madda Fella官网:美国冒险家服装品牌
2020/01/16 全球购物
Clos19英国:高档香槟、葡萄酒和烈酒在线购物平台
2020/07/10 全球购物
利用指针变量实现队列的入队操作
2012/04/07 面试题
素食餐饮项目创业计划书
2014/02/02 职场文书
大学生简短的自我评价分享
2014/02/20 职场文书
大学新学期计划书
2014/04/28 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书
会计求职简历自我评价
2015/03/10 职场文书
干部考核工作总结
2015/08/12 职场文书
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript
用PYTHON去计算88键钢琴的琴键频率和音高
2022/04/10 Python