javascript中如何使用replace函数
在js中有两个replace函数 一个是location.replace(url) 跳转到一个新的url.一个string.replace("xx","yy") 替换字符串 返回一个新的字符串,该方法并不改变字符串本身。下面通过本文给大家介绍javascript中的replace函数
javascript这门语言一直就像一位带着面纱的美女,总是看不清,摸不透,一直专注服务器端,也从来没有特别重视过,直到最近几年,javascript越来越重要,越来越通用。最近和前端走的比较近,借此机会,好好巩固一下相关知识点。
1.初识replace
在js中有两个replace函数 一个是location.replace(url) 跳转到一个新的url
一个string.replace("xx","yy")
替换字符串 返回一个新的字符串,该方法并不改变字符串本身
location.replace(url) 无痕跳转(将当前链接导航到一个新的url 并不保存历史记录)
与之相对的是location.href="url" rel="external nofollow" 有痕跳转(将当前链接导航到一个新的url 且保存历史记录) 这个没有比较清晰
string.replace函数 很多初学者,会认为这个跟C#中的Replace一样,但并不相同,js中replace更灵活。
最基本的用法 就是简单替换字符串。来看一个例子:
var str = "abcd-abcd-abcd"; var result = str.replace("a", ""); console.log(result); //输出 bcd-abcd-abcd //当第一个参数是一个简单字符串时,仅替换第一个匹配项
2.走进replace之正则表达式
参数一:正则表达式对象或字面量(支持gi模式) g全局匹配 i忽略大小写
参数二:要替换的字符串或一个function
可以使用正则表达式的相关引用
如果是function,则替换为function的返回值
此function的参数:
match 匹配的子串。(对应于上述的$&。)
p1,p2, ... 假如replace()方法的第一个参数是一个RegExp 对象,则代表第n个括号匹配的字符串。(对应于上述的$1,$2等。)
offset 匹配到的子字符串在原字符串中的偏移量。(比如,如果原字符串是“abcd”,匹配到的子字符串是“bc”,那么这个参数将是1)
string 被匹配的原字符串。
正则表达的引用
$$ 插入一个 "$"。
$& 插入匹配的子串。
$` 插入当前匹配的子串左边的内容。
$' 插入当前匹配的子串右边的内容。
$n 假如第一个参数是 RegExp对象,并且 n 是个小于100的非负整数,那么插入第 n 个括号匹配的字符串。
3.来一轮带注释的demo,彻底搞懂javascript中的replace函数:
全局匹配:
var str = "abcd-abcd-abcd"; var result = str.replace(/a/g, "e"); console.log(result); //输出 ebcd-ebcd-ebcd //g全局匹配 所有a字符串都将被替换
忽略大小写匹配:
var str = "abcd-abcd-abcd"; var result = str.replace(/A/i, "e"); console.log(result); // 输出 ebcd-abcd-abcd // 忽略大小写的匹配 但没有进行全局匹配 所以只替换第一个a
忽略大小写且全局匹配:
var str = "abcd-abcd-abcd"; var result = str.replace(/A/gi, "e"); console.log(result); // 输出 ebcd-ebcd-ebcd // 忽略大小写并全局匹配 所有a都被替换
使用function作为第二参数:
var str = "abcd-abcd-1234"; var result = str.replace(/([a-z]*)-([a-z]*)/gi, function(match,p1,p2,offset,str){ console.log(match); //abcd-abcd 匹配的内容 console.log(p1); //第一个括号中匹配的内容 console.log(p2); //第二个括号匹配的内容 console.log(offset);//0 匹配到的字符串的索引(偏移量) console.log(str); //原始字符串 return [p1,p2].join("+"); }); console.log(result); // 输出 abcd+abcd+1234 // 原字符串中 abcd-abcd 被匹配后 被替换为function返回的内容
在参数中引用正则表达式匹配项:
var str = "a b"; var result = str.replace(/(\w+)\s(\w+)/gi, "$2 $1"); console.log(result); //输出 b a // 这里的$1 $2分别引用正则表达式中第一个喝第二个括号匹配的内容
在参数中引用匹配项左侧内容:
var str = 'abc'; var result = str.replace(/b/g, "$`"); //$`代表匹配字符的左侧内容 console.log(result); //输出: aac
在参数中引用匹配项右侧内容:
var str = 'abc'; var result = str.replace(/b/g, "$'"); //$'代表匹配字符的右侧内容 console.log(result); //输出: acc
使用正则表达式对象:
var str = "a b"; var reg = new RegExp(/(\w+)\s(\w+)/, "gi"); //也可以使用正则表示对象来最为参数 var result = str.replace(reg, "$2 $1"); console.log(result); //输出 b a
有了这些例子 加上开头的名词解释,相信你已经彻底搞懂了javascript中的replace函数!
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
React-native桥接Android如何实现,具体步骤又是什么?
以上是javascript中如何使用replace函数的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undress AI Tool
免费脱衣服图片

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Go语言提供了两种动态函数创建技术:closures和反射。closures允许访问闭包作用域内的变量,而反射可使用FuncOf函数创建新函数。这些技术在自定义HTTP路由器、实现高度可定制的系统和构建可插拔的组件方面非常有用。

1、 SUM函数,用于对一列或一组单元格中的数字进行求和,例如:=SUM(A1:J10)。2、AVERAGE函数,用于计算一列或一组单元格中的数字的平均值,例如:=AVERAGE(A1:A10)。3、COUNT函数,用于计算一列或一组单元格中的数字或文本的数量,例如:=COUNT(A1:A10)4、IF函数,用于根据指定的条件进行逻辑判断,并返回相应的结果。

在Go中传递map给函数时,默认会创建副本,对副本的修改不影响原map。如果需要修改原始map,可通过指针传递。空map需小心处理,因为技术上是nil指针,传递空map给期望非空map的函数会发生错误。

在C++函数命名中,考虑参数顺序至关重要,可提高可读性、减少错误并促进重构。常见的参数顺序约定包括:动作-对象、对象-动作、语义意义和遵循标准库。最佳顺序取决于函数目的、参数类型、潜在混淆和语言惯例。

C++中的异常处理可通过定制异常类增强,提供特定错误消息、上下文信息以及根据错误类型执行自定义操作。定义继承自std::exception的异常类,提供特定的错误信息。使用throw关键字抛出定制异常。在try-catch块中使用dynamic_cast将捕获到的异常转换为定制异常类型。实战案例中,open_file函数抛出FileNotFoundException异常,捕捉并处理该异常可提供更具体的错误消息。

函数返回值在C++中至关重要,它允许函数返回指定类型的数据:返回值类型定义函数返回数据的类型,包括基本类型(如int、float)和自定义类型(如指针、引用)。返回值含义根据函数意图而异,例如返回结果、指示状态、提供引用或创建新对象。

Go函数高级技术包括:闭包:用于访问外部定义的变量,可封装状态并创建私有变量。匿名函数:一次性操作使用的未命名函数,适用于回调、事件处理和筛选。函数类型:定义函数签名,可存储和传递函数值,用于比较和排序等场景。
