浅谈JavaScript的字符串的replace方法

  JavaScript字符串提供了一个replace方法。replace方法可以接受两个参数:第一个参数可以使RegExp对象或者一个字符串,第二个参数可以是一个字符串或者一个函数。如果第一个参数是字符串,那么只会替换第一个字符串。如果想替换所有的字符串,则必须使用正则表达式。

1 var str="hello world";
2 var str1=str.replace("o","h");
3 console.log(str1);//hellh world

  第一行代码定义了一个字符串变量,并初始化,第二行代码使用replace方法,将字符串中的o替换为h,从结果来看使用字符串替换,只能替换第一个字符串。

1 var str="hello world";
2 var str1=str.replace(/o/g,"h");
3 console.log(str1);//hellh whrld

  上面的代码使用了正则表达式来传递参数,正则表达式会匹配所有的字符串,并替换掉。

1 var str="hello world";
2 var str1=str.replace(/o/g,function(match,pos,orginText){
3         console.log(pos);
4         return "a";
5 });
6 console.log(str1);//hella warld

  上面的代码,第一行定义了字符串变量,并初始化。第二行调用了字符串的replace方法,第一个参数是模式匹配,第二个参数是一个函数。函数拥有三个参数:第一个参数是匹配到的字符串,第二个参数是匹配的位置,第三个参数是原字符串。在函数里面可以对字符串进行操作。使用函数作为第二个参数,可以做一些复杂的替换,比如当匹配多个字符时候,可以对不同的字符做不同的替换。

 1     var str="hello world";
 2                 var str1=str.replace(/[ol]/g,function(match,pos,orginText){
 3                     console.log(pos);
 4                     if(match=="o"){
 5                         return "a";
 6                     }
 7                     else {
 8                         return "b";
 9                     }
10                     
11                 });
12                 console.log(str1);//hebba warbd

上面的代码模式匹配所有的字符o或者字符l,并在函数中进行操作。将字符o替换为a,字符l替换为b

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏黑泽君的专栏

正则表达式的规则

833
来自专栏JetpropelledSnake

Python入门之函数的形式参数与实参/参数的具体使用方法

 本篇目录:     一、 函数参数之形式参数与实参     二、 函数参数的具体使用 #1、位置参数:按照从左到右的顺序定义的参数 位置形参:...

4856
来自专栏猿人谷

sizeof和strlen的区别

第一个例子:  char *ss="0123456789";    sizeof(ss)=4, ss是指向字符串常量的字符指针。    sizeof(*s...

2148
来自专栏Jackson0714

正则表达式全部符号解释

35815
来自专栏python3

python 字符串常用操作

字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。

891
来自专栏WindCoder

Java代码块执行顺序初探

Java继承中对构造函数是不继承的,只是显式或者隐式调用,并且必须是在构造函数第一行。这里是隐式调用了super()。

2931
来自专栏Jackson0714

正则表达式全部符号解释

1116
来自专栏技术之路

指针数组和数组指针

指针数组 :就是指针的数组,数组的元素是指针;  数组指针:就是指向数组的指针。 简单举例说明:     int *p1[10];    声明了一个数组,数组的...

2179
来自专栏CaiRui

Python之函数练习题

一、简述普通参数、指定参数、默认参数、动态参数的区别 普通参数:就是放入一个形参,当放入实参时,需要按照顺序给形参值。 指定参数:放入实参时是指定的,不用按照顺...

4429
来自专栏柠檬先生

Java 流程控制

Java 主要的流程控制语句有3钟,选择语句,循环语句,跳转语句。 Java 中的作用域,是一对用花括号括起来的,块定义了变量使用的范围,   各个块之间可以嵌...

2137

扫码关注云+社区

领取腾讯云代金券