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获取textarea中的光标位置
May 06 Javascript
ExtJS PropertyGrid中使用Combobox选择值问题
Jun 13 Javascript
你有必要知道的25个JavaScript面试题
Dec 29 Javascript
js初始化验证实例详解
Nov 26 Javascript
JS实现重新加载当前页面
Nov 29 Javascript
js 判断数据类型的几种方法
Jan 13 Javascript
JS实现图片手风琴效果
Apr 17 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
Nov 22 Javascript
vue 页面加载进度条组件实例
Feb 05 Javascript
关于Vue的路由权限管理的示例代码
Mar 06 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
Apr 02 Javascript
解决VueCil代理本地proxytable无效报错404的问题
Nov 07 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
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
php第一次无法获取cookie问题处理
2014/12/15 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
php接口技术实例详解
2016/12/07 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
SyntaxHighlighter语法高亮插件使用说明
2011/08/14 Javascript
js+JQuery返回顶部功能如何实现
2012/12/03 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
JQuery筛选器全系列介绍
2013/08/27 Javascript
js获取select选中的option的text示例代码
2013/12/19 Javascript
用jQuery获取table中行id和td值的实现代码
2016/05/19 Javascript
Grunt针对静态文件的压缩,版本控制打包的实例讲解
2017/09/29 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
快速解决select2在bootstrap模态框中下拉框隐藏的问题
2018/08/10 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
2018/08/28 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
vue 组件开发原理与实现方法详解
2019/11/29 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
Python实现输出某区间范围内全部素数的方法
2018/05/02 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
Python更新所有已安装包的操作
2020/02/13 Python
pandas创建DataFrame的7种方法小结
2020/06/14 Python
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
2013年大学生的自我鉴定
2013/10/24 职场文书
银行实习的自我鉴定
2013/12/10 职场文书
高中班长自我鉴定
2013/12/20 职场文书
五好党支部事迹材料
2014/02/06 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
2019年英语版感谢信(8篇)
2019/09/29 职场文书
mysql批量新增和存储的方法实例
2021/04/07 MySQL