javascript中的replace方法
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
javascript中的replace方法的更多相关文章
- Javascript中使用replace()方法+正则表达式替换掉所有字符
Js中的replace方法,只能替换掉第一次匹配到的字符, 而我们经常需要替换一个字符串中所有的匹配字符,这时候可以用正则表达式: str.replace(/a/g,"b"); ...
- JavaScript 中的 replace 方法
定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. stringObject.replace(regexp/substr,replaceme ...
- 深入理解 JavaScript 中的 replace 方法(转)
replace方法是属于String对象的,可用于替换字符串. 简单介绍: StringObject.replace(searchValue,replaceValue) StringObject:字符 ...
- javascript中的replace()方法
javascript中有很多很好用的操作字符串和数组的方法,replace()就是其中一个. 看看基本用法 var str = '1234512345'; var newStr = str.repla ...
- javascript中的splice方法介绍&示例
javascript 中的 splice 方法很强大,它可以用于插入.删除或替换数组的元素. 下面来一一介绍! 删除:用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数 ...
- 来一轮带注释的demo,彻底搞懂javascript中的replace函数
javascript这门语言一直就像一位带着面纱的美女,总是看不清,摸不透,一直专注服务器端,也从来没有特别重视过,直到最近几年,javascript越来越重要,越来越通用.最近和前端走的比较近,借此 ...
- 在javascript中使用replace
javascript中使用replace功能很强大,不仅可以替换为字符串,还可以利用正则表达式,对匹配到的字符串为所欲为的进行操作,首先我们来了解一下replace的基本语法 定义和用法 replac ...
- python中的replace()方法的使用
python中的replace()方法的使用 需求是这样的:需要将字符串的某些字符替换成其他字符 str.replace(old,new,max) 第一个参数是要进行更换的旧字符,第二个参数是新的子串 ...
- javascript中的toString()方法
javascript中的toString()方法,主要用于Array.Boolean.Date.Error.Function.Number等对象.下面是这些方法的一些解析和简单应用,做个纪律,以作备忘 ...
随机推荐
- pwnable.kr-col-witeup
和上道题类似,先看看col.c代码呗. 欧克,此程序可以查看flag内容,下载下来慢慢分析. 好叭,他是要输入20个字节,然后每4个字节分块这样相加,结果和0x21DD09EC比较. 先验尝试可知,不 ...
- Python校验文件MD5值
import hashlib import os def GetFileMd5(filename): if not os.path.isfile(filename): return myHash = ...
- opencv关于Mat类中的Scalar()---颜色赋值
这个 CvScalar就是一个可以用来存放4个double数值的数组(O'Reilly的书上写的是4个整型成员):一般用来存放像素值(不一定是灰度值哦)的,最多可以存放4个通道的. typedef s ...
- 实验五:任意输入10个int类型数据,排序输出,再找出素数
一.程序编写 import java.util.*;public class Port { public static void main(String[] args) { // TODO 自动生 ...
- asp.net asp.net application 升级到 asp.net web 解决找不到控件 批量生成.designer文件
颇费周折后,其实很简单,只需要生成designer文件后,重新保存所有页面即可.就是懒得写.懒真的是一种病,手上不能懒,脑子里更不能懒,否则就是给自己挖坑,仔细认真,注意细节!!!! PS:注意修改p ...
- Linux驱动之内核自带的S3C2440的LCD驱动分析
先来看一下应用程序是怎么操作屏幕的:Linux是工作在保护模式下,所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Linux抽象出FrameBuffer这个设备来供用户 ...
- Image 图片
随机矩阵画图 这一节我们讲解怎样在matplotlib中打印出图像.这里打印出的是纯粹的数字,而非自然图像.下面用 3x3 的 2D-array 来表示点的颜色,每一个点就是一个pixel. impo ...
- 解决Kettle与Kerberos集成问题
本文目的:记录Kerberos环境下,通过Kettle将MySQL数据清洗到HDFS过程解决的2个问题,希望对大家有所帮助. Kettle版本:pdi-ce-7.1.0.0-12 1.在Kerbero ...
- 密码与安全新技术专题之WEB应用安全
学号 2018-2019-2 <密码与安全新技术专题>第1周作业 课程:<密码与安全新技术专题> 班级: 1892 姓名: 李熹桥 学号:20189214 上课教师:谢四江 上 ...
- Java学习笔记:多线程(二)
与线程生命周期相关的方法: sleep 调用sleep方法会进入计时等待状态,等待时间到了,进入就绪状态. yield 调用yield方法会让别的线程执行,但是不确保真正让出.较少使用,官方注释都说 ...