1.replace

调用方法str.replace(regexp|substr, newSubStr|function)

  • regexp,正则表达式

  • substr,需要被替换的字符串

  • newSubStr,用于替换的字符串

  • function,一个用于创建新字符串的函数

1.1 当第一个参数为字符串的时候,只替换第一个匹配的项
var text = 'cat,bat,sat,fat'
var result = text.replace('at','ut') // cut,bat,sat,fat
1.2 替换字符串可以插入下面的特殊变量名
  • $$ 插入一个$

  • $& 插入匹配的子串

  • $` 插入当前匹配的子串左边的内容

  • $' 插入当前匹配的子串右边的内容

  • $n 假设第一个参数是RegExp对象,并且n是个小于100的非负整数,那么插入的是第n个括号匹配的字符串

var text = 'cat,bat,sat,fat'
text.replace('at','$`') // cc,bat,sat,fat
text.replace('at','$\'') // c,bat,sat,fat,bat,sat,fat
text.replace(/(a)(t)/,'$1') // ca,bat,sat,fat
text.replace(/(a)(t)/,'$2') // ct,bat,sat,fat
1.3 第二个参数为函数

如果第二个参数为函数,如果匹配成功,函数就会执行,函数的返回值作为替换字符串。$特殊变量名将不能使用。如果第一参数是正则表达式,并且是全局模式,那么这个方法会被调用多次,每次匹配都会被调用

函数参数如下:

  • match 匹配的字符串,对应$&

  • p1,p2……,如果第一个参数是RegExp对象,则代表第n个括号匹配的字符串,对应$1,$2……

  • offset 匹配的字符串在原字符串中的偏移量

  • string 被匹配的原字符串

var text = 'cat,bat,sat,fat'
var result = text.replace(/(a)(t)/g,function(...args){
console.log(args)
})
console.log('result:', result) // 输出结果
// ["at", "a", "t", 1, "cat,bat,sat,fat"]
// ["at", "a", "t", 5, "cat,bat,sat,fat"]
// ["at", "a", "t", 9, "cat,bat,sat,fat"]
// ["at", "a", "t", 13, "cat,bat,sat,fat"]
// result: cundefined,bundefined,sundefined,fundefined 因为我没有返回值,所以是undefined

  

 

javascript中的replace方法的更多相关文章

  1. Javascript中使用replace()方法+正则表达式替换掉所有字符

    Js中的replace方法,只能替换掉第一次匹配到的字符,   而我们经常需要替换一个字符串中所有的匹配字符,这时候可以用正则表达式: str.replace(/a/g,"b"); ...

  2. JavaScript 中的 replace 方法

    定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. stringObject.replace(regexp/substr,replaceme ...

  3. 深入理解 JavaScript 中的 replace 方法(转)

    replace方法是属于String对象的,可用于替换字符串. 简单介绍: StringObject.replace(searchValue,replaceValue) StringObject:字符 ...

  4. javascript中的replace()方法

    javascript中有很多很好用的操作字符串和数组的方法,replace()就是其中一个. 看看基本用法 var str = '1234512345'; var newStr = str.repla ...

  5. javascript中的splice方法介绍&示例

    javascript 中的 splice 方法很强大,它可以用于插入.删除或替换数组的元素. 下面来一一介绍! 删除:用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数 ...

  6. 来一轮带注释的demo,彻底搞懂javascript中的replace函数

    javascript这门语言一直就像一位带着面纱的美女,总是看不清,摸不透,一直专注服务器端,也从来没有特别重视过,直到最近几年,javascript越来越重要,越来越通用.最近和前端走的比较近,借此 ...

  7. 在javascript中使用replace

    javascript中使用replace功能很强大,不仅可以替换为字符串,还可以利用正则表达式,对匹配到的字符串为所欲为的进行操作,首先我们来了解一下replace的基本语法 定义和用法 replac ...

  8. python中的replace()方法的使用

    python中的replace()方法的使用 需求是这样的:需要将字符串的某些字符替换成其他字符 str.replace(old,new,max) 第一个参数是要进行更换的旧字符,第二个参数是新的子串 ...

  9. javascript中的toString()方法

    javascript中的toString()方法,主要用于Array.Boolean.Date.Error.Function.Number等对象.下面是这些方法的一些解析和简单应用,做个纪律,以作备忘 ...

随机推荐

  1. AHB协议整理 AMBA

    本文对AHB协议作了简单整理,整理自两篇文章: AHB总线协议 AHB重点难点总结 1. 简介 AHB总线规范是AMBA总线规范的一部分,AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计 ...

  2. 19-02【mac电脑操作】最小化应用程序

    最小化应用程序 windows下很简单,直接使用windows+M即可: mac电脑下,官方建议是:option+command+m+h.但实际使用的时候,这个快捷键并不好使: 解决方案:mac系统设 ...

  3. linux下搭建Jenkins环境

    前提:Tomcat.jdk已安装并配置成功,具体安装和配置可参考我的其他随笔,在此不再详述 1.官网下载Jenkins最新war包,jenkins.war 2.进入Tomcat安装目录,创建Jenki ...

  4. Golang:sync.Map

    由于map在gorountine 上不是安全的,所以在大量并发读写的时候,会出现错误. 在1.9版的时候golang推出了sync.Map. sync.Map 通过阅读源码我们发现sync.Map是通 ...

  5. leetcode 刷题进展

    最近没发什么博客了 凑个数 我的leetcode刷题进展 https://gitee.com/def/leetcode_practice 个人以为 刷题在透不在多  前200的吃透了 足以应付非算法岗 ...

  6. APP优化(转载)

  7. N2N windows下编译安装文件

    n2n安装 n2n原理编译版下载,可直接使用:windows下vpn客户端 n2n_v2_linux_x64 n2n_v2_Win32TAP网卡驱动 #linux环境编译yum install -y ...

  8. Koa源码分析(二) -- co的实现

    Abstract 本系列是关于Koa框架的文章,目前关注版本是Koa v1.主要分为以下几个方面: Koa源码分析(一) -- generator Koa源码分析(二) -- co的实现 Koa源码分 ...

  9. centos7 安装freetype

    1:下载: wget "http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.bz2" 2:  ...

  10. eclipse中opencv配置

    1.打开Eclipse,Window->preferences 2.进入preferences后,找到Java->Build Path->User Libraries,点击New 在 ...