js中的替换用法综述

替代性方法的语法是stringobj.replace(rgexp,替换文本),在当前字符串对象是一个字符串(String),reexp可以正则表达式对象(正则表达式),也可以是一个字符串(String),替换文本是一种替代的字符串查找,帮助你更好的理解,这是一个简单的例子。

JS代码
复制代码代码如下所示:

VaR的当前字符串对象=西安中华人民共和国,人民永远;

更换仪器中国 / /错别字
返回一个新的替换字符
原始字符串 / /当前字符串对象的值不会改变
VaR纽世达= stringobj.replace(西安
警报(纽世达);

最后是中国
值没有改变。
中国);

你比我聪明,看完上面的例子,会发现二错别字和不受中国仪器所取代,我们可以执行两替换法二错别字或器械代替程序后改进如下:

JS代码
复制代码代码如下所示:

VaR的当前字符串对象=西安中华人民共和国,人民永远;

更换仪器中国 / /错别字
返回一个新的替换字符
原始字符串 / /当前字符串对象的值不会改变
VaR纽世达= stringobj.replace(西安

纽世达= newstr.replace(西安
警报(纽世达);

最后是中国
值没有改变。
中国);
中国);

我们可以仔细想一想,如果有N次N个错别字,也实施了N取代N取代错误的方法哦,别害怕,在正则表达式没有错别字执行替代方法。代码在程序改进如下

JS代码
复制代码代码如下所示:

VaR reg = new RegExp(西安
VaR的当前字符串对象=西安中华人民共和国,人民永远;
VaR纽世达= stringobj.replace(注册,中国);
警报(纽世达);


创建一个常规的RegExp对象

以上是替换法最简单的应用。你知道每个人都明白吗下面是稍微复杂一些的应用程序。

当你在一些网站上搜索文章时,你会发现这样的现象,即搜索的关键词会很亮,颜色也会显示出来,这是怎么实现的呢事实上,我们可以使用正则表达式来实现它,您是如何实现的呢对于简单的原则,请看下面的代码

JS代码
复制代码代码如下所示:

var str =中华人民共和国,中华人民共和国;
VaR纽世达= str.replace( / / g(人),1美元);
document.write(纽世达);


上面的程序缺少交互,我们可以改进程序来实现你想独立查找的字符。

JS代码
复制代码代码如下所示:

var提示符()请输入查找字符
VaR reg = new RegExp((+ +),G);
var str =中华人民共和国,中华人民共和国;
VaR纽世达= str.replace(注册,1美元);
document.write(纽世达);



也许你不明白1美元的特殊字符是什么意思。实际上,$ 1是左表达式中括号中的字符,也就是第一个子匹配。同样的原理可以得到2美元来代表第二个子匹配。什么是子匹配共同点是左边的每个括号都是第一个词匹配,第二个括号匹配第二个词。

当我们计算我们发现的字符时,我们要做什么在我们实现它之前,让我们来讨论如何获得函数的参数。函数函数内部有一个参数集,它存储当前函数的所有参数。函数的所有参数都可以通过参数获得。要理解每个人,请看下面的代码。

JS代码
复制代码代码如下所示:

函数测试(){
警报(参数编号:+参数。长度);
警报(每个参数的值:+参数{ 0 });
警报(第二个参数的值+参数{ 1 });
您可以使用循环来读取所有参数。
}

测试(AA)

警报()
警报()
警报()
循环读取所有参数

在阅读上面的程序后,让我们看看下面这个有趣的程序。

JS代码
复制代码代码如下所示:

VaR reg = new RegExp(
var str =abd1afa4sdf ;
Str.replace(Reg,函数(){ alert(参数。长度);});


我们惊奇地发现匿名函数执行了两次,函数中有三个参数。为什么表演了两次这很容易理解,因为我们所写的正则表达式是匹配单个数字的,并且检测到的字符串也有两个数字,所以匿名函数执行两次。匿名函数内部的三个参数是什么要了解这一点,让我们看看下面的代码。

JS代码
复制代码代码如下所示:

函数测试(){
对于(var i = 0;i < arguments.length;i++){
警报()(++(i + 1)+ 参数值+参数{ });
}
}
VaR reg = new RegExp(
var str =abd1afa4sdf ;
Str.replace(Reg,测试);

对于(var i = 0;i < arguments.length;i++){
警报(参数的值:+参数{ });
}

经过观察,我们发现第一个参数表示要匹配的字符。第二个参数代表最小的索引位置(regexp。指数)的特征匹配时,和第三个参数表示的字符串匹配(regexp。输入)。事实上,这些参数的数量将作为子集的匹配更是越来越多,在发现这些问题,我们可以用另一种方式的写作。

JS代码
复制代码代码如下所示:

功能测试(1美元){
返回+ $ 1 +
}
var提示符()请输入查找字符
VaR reg = new RegExp((+ +),G);
var str =中华人民共和国,中华人民共和国;
VaR纽世达= str.replace(注册、测试);
document.write(纽世达);

返回+ $ 1 +


查看上面的程序,可以看到匹配的字符。

JS代码
复制代码代码如下所示:

他22岁,她20岁,他的父亲是45岁,她的父亲今年44岁,一共有4个。
功能测试(1美元){
无功gyear =(新的日期()),GetYear()- parseInt(1美元)+ 1;
返回1美元+(+ gyear +出生);
}
VaR reg = new RegExp(( D +)年,G);
VaR纽世达= str.replace(注册、测试);
警报(STR);
警报(纽世达);