JavaScript 中 正则替换 replace

本文初步介绍 replace 在 js 中,我们常常会遇到 用来 解决开发中常会遇到的 问题的 知识总结, 如果你已经 非常熟悉,又可以绕道了。675289-20170211131911947-1216220736.jpg

定义和用法

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',

  1. 去掉字符串中的 a、b、c 字符。
  2. 将字符串中的数字 都加上 '[]'
  3. 将字符串中的 数字的值 都 乘以 2
  4. 去掉字符串中 数字之前的所有内容
  5. 去掉字符串中 数字之后的所有内容
  6. 将字符串中的 'abc' 都替换成 gg

好,题目就是这些了。我们开始吧

  1. 题目一 :去掉字符串中的 a、b、c 字符。
    var str = 'abc345efgabcab';
    str.replace(/[a-c]/g, '');
    输出结果:
    // "345efg"
  1. 题目二 :将字符串中的数字 都加上 '[]'
    var str = 'abc345efgabcab';
    str.replace(/[\d]/g, function(num) { return '[' + num + ']' });
    输出结果:
    // "abc[3][4][5]efgabcab"
  1. 题目三 :将字符串中的 数字的值 都 乘以 2
    var str = 'abc345efgabcab';
    str.replace(/[\d]/g, function(num) { return '[' + num + ']' });
    输出结果:
    // "abc[3][4][5]efgabcab"
  1. 题目四 :去掉字符串中 首个数字之前的所有内容
    var str = 'abc345efgabcab';
    var numer = str.match(/[\d]/g)[0];
    var numerIndex = str.indexOf(numer);
    var res = str.substring(numerIndex,str.length);
    输出结果:
    // "345efgabcab"
  1. 题目五 :去掉字符串中 数字之后的所有内容
    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"
  1. 题目六 : 将字符串中的 'abc' 都替换成 gg
    var str = 'abc345efgabcab';
    str.replace(/abc/g, 'gg');
    输出结果:
    // "gg345efgggab"

以上就是 几天基本的入门级别的 replace 以及其周边,我们常常会在工作中遇到的问题。 mark 675289-20170211142422541-1093605186.png

转载于:https://www.cnblogs.com/erbingbing/p/6389043.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值