前言

replace() 函数在字符串处理方面有很强的运用,在此为记

过程

描述

首先看 mdn 上对该方法的描述

str.replace(regexp|substr, newSubStr|function)regexp (pattern)一个RegExp 对象或者其字面量。该正则所匹配的内容会被第二个参数的返回值替换掉。substr (pattern)一个要被 newSubStr 替换的字符串。其被视为一整个字符串,而不是一个正则表达式。仅仅是第一个匹配会被替换。newSubStr (replacement)用于替换掉第一个参数在原字符串中的匹配部分的字符串。该字符串中可以内插一些特殊的变量名。参考下面的使用字符串作为参数。function (replacement)一个用来创建新子字符串的函数,该函数的返回值将替换掉第一个参数匹配到的结果。参考下面的指定一个函数作为参数。 

使用方法

  1. 截取想要的字符串部分
var str = `bskfbname='test1'sdaddfname="test2"safafaf`;
var reg = /name=('|")((\w|-|\s)+)('|")/ig;  // i 不区分大小写,g 全局匹配str.replace(reg, function() {//假如replace()方法的第一个参数是一个RegExp 对象,则代表第n个括号匹配的字符串。(对应于上述的$1,$2等。)//由于name=''中包含的字符串在第二个括号内//故使用arguments[2]console.log(arguments[2]);  //打印 test1   test2
});

2 . 修改字符串

//用法:将字符串第2、3个字符转换为大写var str = 'abcdefg';
var reg = /^(\w)(\w{2})(\w*)$/g;
var rep = /^$1\U$2\E$3*$/g;
// result: 本次匹配到的结果
// $1,...$9: 正则表达式中有几个(),就会传递几个参数,$1~$9分别代表本次匹配中每个()提取的结果,最多9个
// offset:记录本次匹配的开始位置
// source:接受匹配的原始字符串
var newstr = str.replace(reg, function(result,$1,$2,$3,offset,resource){return $1 + $2.toUpperCase() + $3;
});
console.log(newstr) //打印 aBCdefg

3 . 替换字符串

//用法:将字母串替换成replaced
var str = '123abcdefg123aa';var newstr = str.replace(/([a-zA-Z]{1,})/g,'replaced');
console.log(newstr);        //打印 123replaced123replaced

结语

replace() 函数具有非常强大的功能,它能够完美契合正则表达式,做到十分丰富的效果

[你可能忘记的JavaScript] 正则表达式—replace的运用相关推荐

  1. JavaScript的replace方法与正则表达式结合应用讲解

    大家好!!今晚在华软G43*宿舍没什么事做,把javascript中replace方法讲解一下,如果讲得不对或不合理是情理之中的事,因为我不是老鸟,也不是菜鸟,我也不知道我当底是什么鸟??呵~~ re ...

  2. 分享一张JavaScript正则表达式脑图和来自MDN的正则特殊字符说明

    1.正则特殊字符说明 来自MDN Regular_Expressions 字符 含义 \ 匹配将依照下列规则: 在非特殊字符之前的反斜杠表示下一个字符是特殊的,不能从字面上解释.例如,前面没有''的' ...

  3. JavaScript正则表达式快速判断技巧

    原文:JavaScript正则表达式快速判断技巧 这里是JS的正则的一点心得,并不是最完整的规则汇总,更侧重实际运用中的快速判断,初学者接触正则之后往往会被一堆星号括号给弄晕,有了一些速判技巧就能从整 ...

  4. javascript 正则表达式详解

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个 ...

  5. javascript中replace使用方法总结

    这篇文章主要为大家详细介绍了javascript中replace的使用方法,使用replace和正则表达式共同实现字符串trim方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ECMAScri ...

  6. 经典JavaScript正则表达式实战

    来源:http://www.cainiao8.com/web/js_note/js_regular_expression_blueidea.html 目录 1. 正则表达式实战...1    2. 匹 ...

  7. 温故知新 javascript 正则表达式

    温故知新 javascript 正则表达式 转载:http://www.cnblogs.com/libinqq/archive/2008/07/31/1257699.html 很长时间没看 正则表达式 ...

  8. javascript正则表达式小结

    总结了一下javascript正则表达式的内容.表格形式,一目了然.辅以Example图形解释. 一.元字符 二.反义字符 三.转义字符 四.重复匹配 五.分组/捕获 六.贪婪与惰性 七.修饰符 ex ...

  9. JavaScript 正则表达式

    JavaScript  正则表达式 版权声明:未经授权,严禁转载! 正则表达式 什么是正则表达式 正则表达式是用来描述一种特定格式的字符规则的表达式. 正则表达式常用语在一段文本中搜索,匹配或者替换特 ...

最新文章

  1. 没有为类型定义方法怎么办_拼多多开店没有流量怎么办?有什么方法?新手必看!...
  2. 产品经理应该掌握的信息架构知识
  3. 计算机与人脑_看!自行车成精了...清华网红自行车:拥有“类人脑芯片”,可无人驾驶...
  4. C#6.0中$的用法
  5. window统计文本字节_【NLP】机器如何认识文本 ?NLP中的Tokenization方法总结
  6. mysql-8.0.14图文安装_mysql8.0.14安装配置方法图文教程(通用)
  7. 18-黑马程序员------OC语言学习笔记---封装
  8. 洛谷 P4147 玉蟾宫 (最大子矩形问题)
  9. 最强半自动化抓鸡工具打造思路
  10. 布线工程-认识光纤和光缆
  11. WEBSHELL 提权方法总结
  12. 计算机桌面调音量的图标不见了,如何解决电脑音量图标不见了
  13. 滴滴 iOS 动态化方案 DynamicCocoa 的诞生与起航
  14. python获取第一个字符_Python:获取列表中第一个字符串的第一个字符?
  15. AI:ModelScope(一站式开源的模型即服务共享平台)的简介、安装、使用方法之详细攻略
  16. Anaconda从C盘移动到D盘
  17. hive时金额为科学记数法转为普通的数字
  18. 支持tcam的服务器,使用tcam实现数据流的选择性路由
  19. 二十一世纪大学英语读写教程(第三册)学习笔记(原文)——1 - How I Got Smart(我是如何变聪明的)
  20. R安装学习及包的管理

热门文章

  1. 【Unity】Audio Source组件——用代码动态控制音效的播放、暂停
  2. Mybatis 传入数组参数
  3. python 简历_Python爬虫面试简历
  4. 手语识别 机器学习_SLR-手语识别挑战赛
  5. Windows下的Nginx部署React项目及解决反向代理跨域问题等-20.8.1更新
  6. 小波变换去雾matlab代码,一种基于小波变换的图像去雾方法
  7. docker 原理之runc
  8. 计算机web白帽子安全术语
  9. ppt 视频不显示控制条
  10. 【教程】使用R语言绘制词云图