JavaScript 中 正则替换 replace
本文初步介绍 replace 在 js 中,我们常常会遇到 用来 解决开发中常会遇到的 问题的 知识总结, 如果你已经 非常熟悉,又可以绕道了。
定义和用法
replace() 方法用于在字符串中常用的一些字符串替换。 在我们的日常开发中常常会遇到字符串替换的相关问题。 那么 学会 replace 用法,在日常的开发中可以节约很多的时间。
语法
stringObject.replace(regexp,replacement)
stringObject: 字符串对象
regexp:正则表达式
replacement: 你需要替换成的内容,这里可以是 字符串,也可以是函数。
返回值
一个新的字符串,对应需要替换的内容已被替换掉。
具体实践
Tips: 上文中介绍的 replacement 【对应需要替换的替换项】
其中包含了一部分具体的 正则符号的内容,在开始实践之前,先介绍其中的 正则符号的意义。
1. $1、$2、...、$99 与 regexp 中的第 1 到第 99 个子表达式相匹配的文本。
2. $& 与 regexp 相匹配的子串。
3. $` 位于匹配子串左侧的文本。
4. $' 位于匹配子串右侧的文本。
5. % 直接量符号。
好了,下面,开始我们的具体实践。
题目:
有字符串 var = 'abc345efgabcab',
- 去掉字符串中的 a、b、c 字符。
- 将字符串中的数字 都加上 '[]'
- 将字符串中的 数字的值 都 乘以 2
- 去掉字符串中 数字之前的所有内容
- 去掉字符串中 数字之后的所有内容
- 将字符串中的 'abc' 都替换成 gg
好,题目就是这些了。我们开始吧
- 题目一 :去掉字符串中的 a、b、c 字符。
var str = 'abc345efgabcab';
str.replace(/[a-c]/g, '');
输出结果:
// "345efg"
- 题目二 :将字符串中的数字 都加上 '[]'
var str = 'abc345efgabcab';
str.replace(/[\d]/g, function(num) { return '[' + num + ']' });
输出结果:
// "abc[3][4][5]efgabcab"
- 题目三 :将字符串中的 数字的值 都 乘以 2
var str = 'abc345efgabcab';
str.replace(/[\d]/g, function(num) { return '[' + num + ']' });
输出结果:
// "abc[3][4][5]efgabcab"
- 题目四 :去掉字符串中 首个数字之前的所有内容
var str = 'abc345efgabcab';
var numer = str.match(/[\d]/g)[0];
var numerIndex = str.indexOf(numer);
var res = str.substring(numerIndex,str.length);
输出结果:
// "345efgabcab"
- 题目五 :去掉字符串中 数字之后的所有内容
var str = 'abc345efgabcab';
var numers = str.match(/[\d]/g);
var numer = numers[numers.length - 1];
var numerIndex = str.indexOf(numer);
var res = str.substring(0, numerIndex + 1);
输出结果:
// "abc345"
- 题目六 : 将字符串中的 'abc' 都替换成 gg
var str = 'abc345efgabcab';
str.replace(/abc/g, 'gg');
输出结果:
// "gg345efgggab"
以上就是 几天基本的入门级别的 replace 以及其周边,我们常常会在工作中遇到的问题。 mark
JavaScript 中 正则替换 replace的更多相关文章
- 正则替换replace中$1的用法以及常用正则
一.repalce定义 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. stringObject.replace(regexp/substr,replacement)参数一 ...
- 正则替换replace中$1的用法
一.repalce定义 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 1 2 3 4 5 stringObject.replace(regexp/substr,repla ...
- JavaScript中String.prototype.replace() 方法的使用
摘抄于:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/replace ...
- JavaScript中正则的使用(1)
通过例子学习正则中的常见语法(1) $num javascript var a = 'javascript'; var b = a.replace(/(java)(script)/gi, '$2-$1 ...
- JavaScript中正则使用
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在.比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦, ...
- javascript中正则动态替换为对象中的相应数据
使用正则进行替换以下内容 var str = 'aKey={aValue}&bKey={bValue}' 使用以下对象数据,替换value var obj = { aValue: 1, bVa ...
- javascript中href和replace比较
在使用javascript的时候,有时候对于经常使用的方法太熟悉而忽略了他们之间原理的细微差别.举例如下:window.location.href,window.location.replace. ...
- PHP中正则替换函数preg_replace用法笔记
今天应老板的需求,需要将不是我们的页面修改一个链接,用js+iframe应该也能实现,但是我想尝试一下php实现方法. 首先你得先把别人的页面download到你的php中,实现方法可以用curl, ...
- JavaScript 中正则匹配时结果不一致的问题
创建示例项目 考察如下场景,我们有个输入框组件,输入时同时进行校验. interface IInputProps { label: string; } function Input({ label } ...
随机推荐
- 浅谈C#常用集合类的实现以及基本操作复杂度
List 集合类是顺序线性表,Add操作是O(1)或是O(n)的,由于List的容量是动态扩容的,在未扩容之前,其Add操作是O(1),而在需要扩容的时候,会拷贝已存在的那些元素同时添加新的元素,此时 ...
- 畅通工程续 -- HDU 1874 floyd
题目大意: 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离. 思路: floyd算法模板题,这是一个牺牲空间换取时间的算法,本质是动态规划. AC代码: #include < ...
- Android EventBus技能点梳理
EventBus为Github上的开源项目,地址:https://github.com/greenrobot/EventBus 疑问:1. 现在都是Android Studio创建的项目,如何导入这些 ...
- BZOJ 4665
orz gery 一发rk1真有趣(其实我没想着常数优化 inline int sqr(int x){return 1ll*x*x%mo;} const int N=2011; int n,a[N], ...
- PHP命名空间与自动加载类详解
本文实例讲述了PHP命名空间与自动加载类.分享给大家供大家参考,具体如下: 今天我要给大家介绍的是PHP的命名空间 和 自动加载类 我先简单的分开演示 在放在一起 大家请看:什么是自动加载类? 想必大 ...
- 关于Promise层层嵌套可读性差问题
Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象 ES6 规 ...
- vue-cli跳转到新页面的顶部
我这里有两种方法都是可以用的 1,利用vue-router的默认模式hash,可以记录上一页的位置,如果需要点话,如果没有记录,在进入新页面的时候是返回到新页面的最顶部的 scrollBehavior ...
- windows系统dos窗口全屏
第一次进入博客园 2017年12月7日 之前使用dos窗口时都输入的是简短的指令,今天突然感觉小框看着不舒服,就找了一下度娘,在这里感谢万能的百度,一鞠躬. 1.win+r打开dos命令窗口 2.cm ...
- prometheus — nginx-vts-exporter
参考文档: https://blog.51cto.com/xujpxm/2080146 注: 本文留用自己参考,建议看以上参考文档,更为细致 prometheus 监控 nginx 使用 nginx- ...
- .net 发布程序时出现“类型ASP.global_asax同时存在于...”错误的解决办法
web程序发布后,通过浏览器访问程序显示如下的错误信息: 编译器错误消息: CS0433: 类型“ASP.global_asax”同时存在于“c:\WINDOWS\Microsoft.NET\Fram ...