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中的getUTCHours()方法使用详解
Jun 10 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
Aug 21 Javascript
AngularJS基础 ng-init 指令简单示例
Aug 02 Javascript
js 获取元素所有兄弟节点的实现方法
Sep 06 Javascript
jQuery Easyui 下拉树组件combotree
Dec 16 Javascript
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
Mar 14 Javascript
jQuery实现点击关注和取消功能
Jul 03 jQuery
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 jQuery
React注册倒计时功能的实现
Sep 06 Javascript
JS canvas绘制五子棋的棋盘
May 28 Javascript
apicloud拉起小程序并传递参数的方法示例
Nov 21 Javascript
Vue.js实现可排序的表格组件功能示例
Feb 19 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关联数组的10个操作技巧
2013/01/21 PHP
IE与Firefox下javascript getyear年份的兼容性写法
2007/12/20 Javascript
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
xss文件页面内容读取(解决)
2010/11/28 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
jQuery获得内容和属性方法及示例
2013/12/02 Javascript
js导出txt示例代码
2014/01/14 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
2014/05/20 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
强大Vue.js组件浅析
2016/09/12 Javascript
用AngularJS来实现监察表单按钮的禁用效果
2016/11/02 Javascript
网络传输协议(http协议)
2016/11/18 Javascript
jQuery Ajax前后端使用JSON进行交互示例
2017/03/17 Javascript
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
最后说说Vue2 SSR 的 Cookies 问题
2018/05/25 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
sortable+element 实现表格行拖拽的方法示例
2019/06/07 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
2020/09/27 Javascript
Python开发编码规范
2006/09/08 Python
Python ljust rjust center输出
2008/09/06 Python
python实现数通设备端口监控示例
2014/04/02 Python
Python实现屏幕截图的代码及函数详解
2016/10/01 Python
python判断计算机是否有网络连接的实例
2018/12/15 Python
Python参数类型以及常见的坑详解
2019/07/08 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
Tensorflow实现将标签变为one-hot形式
2020/05/22 Python
使用html5 canvas绘制圆环动效
2019/06/03 HTML / CSS
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
11月红领巾广播稿
2014/01/17 职场文书
黄金搭档广告词
2014/03/21 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
2014教师年度思想工作总结
2014/11/10 职场文书
放弃遗产继承公证书
2015/01/26 职场文书
主持稿开场白
2015/06/01 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python