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

  

 

转载于:https://www.cnblogs.com/gg1234/p/9282313.html

javascript中的replace方法相关推荐

  1. 深入理解 JavaScript 中的 replace 方法

    2019独角兽企业重金招聘Python工程师标准>>> 字符串替换字符串 1 'I am loser!' .replace( 'loser' , 'hero' ) //I am he ...

  2. 彻底搞懂javascript中的replace函数

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

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

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

  4. Javascript中二进制数据处理方法

    Javascript中二进制数据处理方法 转载于:https://www.cnblogs.com/motadou/archive/2012/02/19/2358514.html

  5. JS中的Replace方法

    最近查一个bug,原因是JS中的Replace方法造成的,当将一个字符串中有处需要替换时,一般会用到JS中的Replace方法,Replace方法的第一个参数如果是传的字符串,只会替换第一处.代码如下 ...

  6. Hive中的replace方法

    Hive中的replace方法 Hive本身并没有replace方法,但是提供了两个方法可以实现replace功能 translate regexp_replace translate例子 使用空字符 ...

  7. php中使用confirm,如何使用JavaScript中的confirm()方法

    confirm方法的使用:通过给元素设置confirm函数来创建一个带有确认和取消按钮的提示框,当点击确认时返回true,取消时返回false 今天将讲解JavaScript中confirm() 方法 ...

  8. JavaScript 中的forEach()方法

    JavaScript 中的forEach方法 一.forEach()的定义和用法? 1.第一个是数组的每一项值(必选) 2.第二个是数组下标(可选) 3.第三个是原数组(可选) 4.forEach() ...

  9. JavaScript中的valueOf方法详解

    Object.prototype.valueOf() valueOf() 方法返回指定对象的原始值. 语法 object.valueOf() 返回值 返回值为该对象的原始值. 描述 JavaScrip ...

最新文章

  1. 12篇文章带你进入NLP领域,掌握核心知识
  2. CSS布局基础之二认识Viewport
  3. 【深度学习】人人都能看得懂的卷积神经网络——入门篇
  4. Andriod: 在xml布局中使用自定义属性
  5. intellij出现Error assembling JAR: invalid entry size
  6. 6、mysql中字段
  7. python 矩阵获取行数_4个最佳项目创意的代码片段和示例,旨在为Python和机器学习构建出色的简历!...
  8. delphi 获取桌面路径
  9. Docker学习总结(55)——Google和Facebook为什么不用Docker?
  10. Java本质论之关于Java栈与堆的思考
  11. DirectShow Filter 开发典型例子分析 ——字幕叠加 (FilterTitleOverlay)1
  12. webservice的wsdl文件怎么生成
  13. 敏捷教练如何辅导发布计划的制定之开展行动
  14. 计算机使用hdmi需要设置方法,如何在计算机显示器上切换HDMI
  15. 英式英语和美式英语的差异1-用词
  16. MySQL微专业_网易微专业Java开发工程师
  17. 谁知道qq会员怎么退款呢
  18. 测试硬盘软件hd不能结束进程,终于解决了HD TUNE以及所有其他硬盘检测工具都不能使用的情况。。...
  19. 微信小程序全栈开发实践 第三章 微信小程序开发常用的API介绍及使用 -- 3.6 网络接口简介(六)关于Page页面隐藏代码执行及Promise对象catch处理的补充
  20. strcpy与strncpy的实现

热门文章

  1. 如何选择分布式事务解决方案?
  2. 什么技能产品经理不会提,但技术人必须懂?
  3. 如何5分钟秒懂Java之基础入门篇 第一个hello word
  4. 图形渲染技术分享:《GTA V 》图形分析摘要
  5. idea查看过期时间
  6. .Net 下载网络图片
  7. AVG杀毒软件添加信任程序
  8. 打开和关闭Oracle Flashback
  9. php-fpm.conf 解析
  10. unittest框架学习笔记