博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串replace方法的使用
阅读量:5884 次
发布时间:2019-06-19

本文共 1611 字,大约阅读时间需要 5 分钟。

str.replace(regexp|substr, newSubStr|function)

作用:返回一个由替换值替换一些或所有匹配模式后的新字符串

参数详解:

第一个参数可以为正则对象或者字符串字面量第二个参数可以为一个新字符串也可以为一个函数,该函数返回替换项复制代码
1、第二个参数为字符串的情况:
a、常见情况:
var str='abcdefg';var reg=/cd/g;str=str.replace(reg,'');console.log(str);   //abefg复制代码
b、使用变量名替换特定部位:(注意要替换特定部位的话,在正则对象中要是用括号包裹)
  • 变量为$$的情况:插入用$符号替换正则对象中括号包裹的字符所匹配到的内容
var str='abcdefg';var reg=/(c)d/g;str=str.replace(reg,'$$d');//这里括号包裹的c被$替换了,然后再替换整个匹配到的cdeconsole.log(str);//ab$defg复制代码
  • 变量为$n的情况:插入匹配第n个括号中的字符
var str='abcdefg';var reg=/(c)d(e)/g;str=str.replace(reg,'$2d$1');   //这里把匹配的第一个内容合第二个内容替换位置($1匹配第一个位置,$2匹配第二个位置),然后再替换整个匹配到的cdeconsole.log(str);   //abedcfg复制代码
  • 变量为$&的情况:插入被正则对象匹配到的字符
var str='abcdefg';var reg=/(c)d(e)/g;str=str.replace(reg,'$&d$1$2');//这里在匹配到的d前面插入整个匹配到的字符cde,在d后面插入匹配到的第一个和第二个括号中的内容,然后再替换整个匹配到的cdeconsole.log(str);//abcdedcefg复制代码
  • 变量为$`的情况:插入当前匹配的子串左边的内容
var str='abcdefg';var reg=/(c)d(e)/g;str=str.replace(reg,'d$`');//这里是把匹配到的字符串cde左边内容ab插入到d后面,然后再替换整个匹配到的cdeconsole.log(str);//abdabfg复制代码
  • 变量为$'的情况:插入当前匹配的子串右边的内容
var str='abcdefg';var reg=/(c)d(e)/g;str=str.replace(reg,"d$'");//这里是把匹配到的字符串cde右边内容fg插入到d后面,然后再替换整个匹配到的cde(注意这里的单引号要用双引号包裹)console.log(str);//abdfgfg复制代码
1、第二个参数为函数的情况:

替换函数参数详解

变量名 代表的值
match 匹配的子串。(对应于上述的**$&**。)
p1,p2, ... 类似于上述$1,$2……
offset 匹配到的子字符串在原字符串中的偏移量。(比如,如果原字符串是“abcd”,匹配到的子字符串是“bc”,那么这个参数将是1)
string 被匹配的原字符串。
var str='xiaoming';var reg=/(a)o(m)/g;function replacer(match, p1, p2, offset, string) {    console.log(match, p1, p2, offset, string);//aom a m 2 xiaoming  return [p1, p2].join(' - ');}var newString = str.replace(reg, replacer);console.log(newString);  //xia - ming复制代码

参考:

转载地址:http://kqlix.baihongyu.com/

你可能感兴趣的文章
加快ALTER TABLE 操作速度
查看>>
学习笔记之软考数据库系统工程师教程(第一版)
查看>>
PHP 程序员的技术成长规划
查看>>
memcached 分布式聚类算法
查看>>
jquery css3问卷答题卡翻页动画效果
查看>>
$digest already in progress 解决办法——续
查看>>
mysql 数据类型
查看>>
Ubuntu 设置当前用户sudo免密码
查看>>
ionic 调用手机的打电话功能
查看>>
怎么使用阿里云直播服务应用到现在主流直播平台中
查看>>
判断点是否在三角形内
查看>>
知行合一
查看>>
jmeter插件之jsonpath提取响应结果和做断言
查看>>
[Contiki系列论文之1]Contiki——为微传感器网络而生的轻量级的、灵活的操作系统...
查看>>
Android 网络编程 记录
查看>>
微软同步发行Windows 10和Windows 10 Mobile系统更新
查看>>
Zeppelin的入门使用系列之使用Zeppelin运行shell命令(二)
查看>>
form表单下的button按钮会自动提交表单的问题
查看>>
那些年追过的......写过的技术博客
查看>>
python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列
查看>>