javascript string对象方法replace
- 最简单的replace用法是:
var str = 'aaaaa9876b0000';
str.replace(/a/g,'A');
- 有时候我们希望只是在匹配的位置添加特定的字符:
var str = 'aaaaa9876b0000';
str.replace(/([0-9])/g,'[$1]');
以上结果为:
aaaaa[9][8][7][6]b[0][0][0][0]
- 如果我们想要对匹配的位置进行数学计算,那么我们可以将第二个参数改为函数,其返回值就是在对应位置题换的字符:
'abc123ba0c'.replace(/([0-9])/g,function(m){return 2*parseInt(m)})
以上结果为:
abc246ba0c
那么,这个函数的参数是什么呢?
第一个参数表示匹配的完整字符串,相当于 /([0-9])/g的exec方法的全局执行完之后的结果,如下:
>var reg = /([0-9])/g
>reg.exec('abc123ba0c')
["1", "1"]
>reg.exec('abc123ba0c')
["2", "2"]
>reg.exec('abc123ba0c')
["3", "3"]
>reg.exec('abc123ba0c')
["0", "0"]
正则表达式有多少个(),m后面就可以有多少个参数,这些参数就代表以上匹配结果中对应位置的内容。
这些()内的参数后面,还有一个参数,表示所有全局匹配串m在原始字符串中的起点:
>'abc123ba0c'.replace(/([a-z]+)([0-9]+)/g,function(m,p1,p2,p3,p4){console.log(m+' '+ p1 + ' '+p2+' ' + p3)})
abc123 abc 123 0
ba0 ba 0 6
javascript string对象方法replace的更多相关文章
- JavaScript String 对象方法
String 对象方法 方法 描述 anchor() 创建 HTML 锚. big() 用大号字体显示字符串. blink() 显示闪动字符串. bold() 使用粗体显示字符串. charAt() ...
- javascript string对象方法总结
1.anchor() 用于创建html锚,也就是a标签,()中可以带参数,是a标签的name属性值. var string="hello world"; document.writ ...
- JavaScript Number 对象 Javascript Array对象 Location 对象方法 String对象方法
JavaScript Number 对象 Number 对象属性 属性 描述 constructor 返回对创建此对象的 Number 函数的引用. MAX_VALUE 可表示的最大的数. MIN_V ...
- JavaScript String 对象
JavaScript String 对象 String 对象 String 对象用于处理文本(字符串). String 对象创建方法: new String(). 语法 var txt = new S ...
- 浏览器端-W3School-JavaScript:JavaScript String 对象
ylbtech-浏览器端-W3School-JavaScript:JavaScript String 对象 1.返回顶部 1. JavaScript String 对象 String 对象 Strin ...
- PowerShell String对象方法 1
PowerShell String对象方法 1 8 6月, 2013 在 Powershell tagged 字符串 / 对象 / 文本 by Mooser Lee 从之前的章节中,我们知道Powe ...
- JavaScript String 字符串方法
JavaScript String 字符串方法汇总 1.str.indexOf() 方法查找字符串中的字符串 返回 字符串中指定文本首次出现的索引(位置) JavaScript ...
- 几种String对象方法的区别
1.在String对象方法中,发现.slice()方法和.substring()方法的作用几乎相同,都是根据起始索引返回截取得到的字符串.经过查阅资料和实测得到区别: 正常情况下索引都为正值,返回值为 ...
- 【timeisprecious】【JavaScript 】JavaScript String 对象
JavaScript>String 对象 1 .From Runnob JavaScript String 对象(概览) JavaScript String 对象(教程)
随机推荐
- 14.2 multiprocessing--多线程
本模块提供了多进程进行共同协同工作的功能.由于Python存在GIL锁,对于多线程来说,这只是部分代码可以使用多CPU的优势,对于想全部使用多CPU的性能,让每一个任务都充分地使用CPU,那么使用多进 ...
- redis 带入的挖矿病毒 qW3xT.2 wnTKYg 解决方法
最近我的阿里云ecs 老是收到 云盾态势感知系统检测到异常 top -c 后发现一个 疑似病毒 /tmp/qW3xT.2 看到网友们的解决方案 试过之后效果不错,可以用的 知道wnTKYg是什么鬼之 ...
- JQ 封装全选函数
单击时触发效果: 如果有一个没有选中把全选的勾去了,如果select所有的都选中了,那就把全选勾上 html里: <div class="row cl"> <la ...
- python——元组(tuple)基本操作
元组被称为只读列表,数据可被查询,但不能被修改,类似于列表的切片操作,元组写在小括号里面()元素之前用逗号隔开 对于一些不想被修改的数据,可以用元组来保存 # 创建元组 1)创建空元组 # 创建空元 ...
- EXKMP学习笔记QAQ
因为一本通少了一些算法,所以我就自行补充了一些东西上去. EXKMP也就是扩展KMP,是一种特别毒瘤的东西 EXKMP确实很难,我理解他的时间与AC机的时间差不多,而且还很难记,因此一学会就马上写博客 ...
- 内存泄漏导致程序killed
示例程序: #include<stdio.h> #include<unistd.h> int main() { ) { *]; } ; } 执行结果: 程序消耗完内存会被kil ...
- 005---基于UDP的套接字
基于UDP的套接字 udp不同于tcp协议:不需要经过三次握手.四次挥手.直接发送数据就行. 服务端 import socket ip_port = ('127.0.0.1', 8001) buffe ...
- 007---logging日志模块
logging模块 用途:服务器运行日志.运维日志... import logging from logging.handlers import RotatingFileHandler, TimedR ...
- MVC中路由的修改和浏览器的地址参数
在 ASP.NET MVC 应用程序中,它是更常见的做法在作为路由数据 (像我们一样与身份证上面) 比将它们作为查询字符串传递的参数中传递. ) { return HttpUtility.HtmlEn ...
- 多表头的DataGridView
上次在程序中要用到多表头的DataGridView,在网上搜索了一个,感觉还不错,现在简单的介绍一下它的用法.首先得把这个dll拷贝到相应的目录下,dll名称是myMultiColHea ...