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 相关文章推荐
翻译整理的jQuery使用查询手册
Mar 07 Javascript
随机显示经典句子或诗歌的javascript脚本
Aug 04 Javascript
用js实现的检测浏览器和系统的函数
Apr 09 Javascript
50个比较实用jQuery代码段
Sep 18 Javascript
js游戏人物上下左右跑步效果代码分享
Aug 28 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
Jan 21 Javascript
jQuery根据表单name获取值的方法
May 24 Javascript
javascirpt实现2个iframe之间传值的方法
Jun 30 Javascript
JQuery EasyUI的一些常用组件
Jul 12 jQuery
解决vue的过渡动画无法正常实现问题
Oct 31 Javascript
Vue分页效果与购物车功能
Dec 13 Javascript
vue实现lodop打印功能的示例
Nov 11 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+mysql扎实个人基本功
2008/03/27 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
浅谈PHP eval()函数定义和用法
2016/06/21 PHP
py文件转exe时包含paramiko模块出错解决方法
2016/08/12 PHP
兼容ie和firefox js关闭代码
2008/12/11 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
JS 封装父页面子页面交互接口的实例代码
2019/06/25 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
2019/07/19 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
ES6中let、const的区别及变量的解构赋值操作方法实例分析
2019/10/15 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
python实现爬虫下载漫画示例
2014/02/16 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
Python实现快速计算词频功能示例
2018/06/25 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
Django框架创建项目的方法入门教程
2019/11/04 Python
使用Python实现正态分布、正态分布采样
2019/11/20 Python
numpy:np.newaxis 实现将行向量转换成列向量
2019/11/30 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
对python中各个response的使用说明
2020/03/28 Python
keras .h5转移动端的.tflite文件实现方式
2020/05/25 Python
python实现经典排序算法的示例代码
2021/02/07 Python
德国家用电器购物网站:Premiumshop24
2019/08/22 全球购物
巴西最大的运动品牌:Olympikus
2020/07/14 全球购物
矫正人员思想汇报
2014/01/08 职场文书
内刊编辑求职自荐书范文
2014/02/19 职场文书
医学生临床实习自我评价
2014/03/07 职场文书
卫校毕业生个人自我鉴定
2014/04/28 职场文书
片区教研活动总结
2014/07/02 职场文书
英语课前三分钟演讲稿(6篇)
2014/09/13 职场文书
2014年协会工作总结
2014/11/22 职场文书
店长岗位职责
2015/02/11 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
Python 中的单分派泛函数你真的了解吗
2021/06/22 Python