`

replace中替换、搜索的使用

阅读更多

<script language="javascript"> var strObj="空谷悠悠喜欢题足球,空谷悠悠喜欢打乒乓球"; alert(strObj); newStr = strObj.replace("空谷悠悠","小谷"); alert(newStr); </script>

 replace 方法

返回根据正则表达式进行文字替换后的字符串的复制。

stringObj.replace(rgExp, replaceText)

参数

stringObj

必选项。要执行该替换的 String 对象或字符串文字。该字符串不会被 replace 方法修改。

rgExp

必选项。为包含正则表达式模式或可用标志的正则表达式对象。也可以是 String 对象或文字。如果 rgExp 不是正则表达式对象,它将被转换为字符串,并进行精确的查找;不要尝试将字符串转化为正则表达式。

replaceText

必选项。是一个String 对象或字符串文字,对于stringObj 中每个匹配 rgExp 中的位置都用该对象所包含的文字加以替换。在 Jscript 5.5 或更新版本中,replaceText 参数也可以是返回替换文本的函数。

                                                                            ----------文档引文

为了帮助大家更好的理解,下面举个简单例子说明一下:

 

 

 

<script language="javascript"> var strObj="空谷悠悠喜欢踢足球,空谷悠悠喜欢打乒乓球"; alert(strObj); newStr = strObj.replace("空谷悠悠","小谷"); alert(newStr); </script>


 

这段脚本的意思很明显,将“空谷悠悠”替换为“小谷”,但是你在运行后发现,仅仅将第一个匹配的字符串替换了过来,如果我们执行二次replace方法,可以将第二处的字符串也替换,但是如果有N个匹配出呢?难道还要执行N此吗,有了正则表达式之后,就可以一次将所有的匹配字符串都替换过来。

<script language="javascript"> var strObj="空谷悠悠喜欢题足球,空谷悠悠喜欢打乒乓球"; alert(strObj); var reg = new RegExp("空谷悠悠","g"); var newStr = strObj.replace(reg,"小谷"); alert(newStr); </script>

 

<script language="javascript"> var strObj="空谷悠悠喜欢踢足球,空谷悠悠喜欢打乒乓球"; alert(strObj); var reg = new RegExp("空谷悠悠","g"); var newStr = strObj.replace(reg,"小谷"); alert(newStr); </script>


 

 

接下来介绍repalce收索的作用,往往将收索的关键字以高亮颜色显示出来,我们也以简单的代码也说明:

<script language="javascript"> var strObj="空谷悠悠喜欢题足球,空谷悠悠喜欢打乒乓球"; alert(strObj); var newStr = strObj.replace(/(空谷悠悠)/g,"<font color=red>$1</font>"); document.write(newStr); </script>

 

<script language="javascript"> var strObj="空谷悠悠喜欢踢足球,空谷悠悠喜欢打乒乓球"; alert(strObj); var newStr = strObj.replace(/(空谷悠悠)/g,"<font color=red>$1</font>"); document.write(newStr); </script>


 

 

上面的程序缺少互动性,我们修改一下程序,实现可以自主输入要查询的字符,代码如下:

<script language="javascript"> var strObj="空谷悠悠喜欢踢足球,空谷悠悠喜欢打乒乓球"; alert(strObj); var s = prompt("请输入要查找的字符","空谷悠悠"); alert(s); var reg = new RegExp("("+s+")","g"); var newStr = strObj.replace(reg,"<font color=red>$1</font>"); document.write(newStr); </script>


 

 

这里$1表示的就是左边表达式中括号内的字符,即第一个子匹配,同理可得$2表示第二个子匹配。什么是子匹配呢?通俗点讲,就是左边每一个括号是第一个子匹配,第二个括号是第二个子匹配。

当我们要把查找到的字符进行运算的时候,在函数Function的内部,有一个arguments集合,这个集合存储了当前函数的所有参数,通过arguments可以获得函数的所有参数,同样以一个例子进行说明。

 

<script language="javascript"> function test(){alert("参数个数:"+arguments.length); for(var i =0;i<arguments.length;i++) { alert("第" + i + "个参数:"+arguments[i]) } } //可以用for循环读取所有的参数 test("aa","bb","cc"); </script>


 

 

 

我们接着再看一个有趣的程序:

<script language="javascript"> var reg=new RegExp("d","g"); var str="abd1afa4sdf"; str.replace(reg,function(){alert(arguments.length);}); </script>

 

<script language="javascript"> var reg=new RegExp("d","g"); var str="abd1afa4sdf"; str.replace(reg,function(){alert(arguments.length);}); </script>


 

 我们惊奇的发现,匿名函数竟然被执行了二次并且在函数里还带有三个参数,为什么会执行二次呢??这个很容易想到,因为我们写的正则表达式是匹配单个数字的,而被检测的字符串刚好也有二个数字,故匿名函数被执行了二次。。在匿名函数内部的那三个参数到底是什么内容呢??为了弄清这个问题,我们看下面的代码:

 

 

 

 

 进观察我们发现,第一个参数表示匹配到的字符,第二个参数表示匹配时的字符最小索引位置,第三个参数表示被匹配的字符串。其实这些参数的个数,还会随着子匹配的变多而变多。

 

 

 

分享到:
评论

相关推荐

    Search and Replace 搜索替换工具

    它可以在同一部硬盘中对所有的文件进行搜寻与替换的功能,也可以对 Zip 文件中的文件做搜寻,支持特殊字符条件表达式搜寻,或是以脚本文件(Script)做搜寻替换工作,也可以以二进制的表示方式做搜寻替换。而搜寻到的...

    replace文本替换工具

    在实际使用中,"replace文本替换工具"能够帮助开发者提高代码质量,统一代码规范,简化版本更新,修复大量重复出现的问题,甚至在处理日志文件或数据分析时也能发挥重要作用。它是一款高效的生产力工具,值得每个IT...

    MySQL中使用replace、regexp进行正则表达式替换的用法分析

    在实际应用中,replace函数可以在update语句中使用,以修改表中的数据。 例如,假设我们有一个表叫做master_data.md_employees,该表中有一个字段叫做name。如果我们要将名字中所有的下划线(_)去掉,可以使用以下...

    findreplace_matlab程序字符整体替换_

    `findreplace.m`通过读取整个子程序文件,然后使用循环和`strrep`结合的方式,实现了全局搜索和替换功能。 下面我们将详细探讨如何使用`findreplace.m`以及背后的MATLAB编程技术: 1. **调用和参数设置**:`find...

    Delphi字符串快速替换函数,速度超快 秒杀自带的StringReplace函数

    然而,由于`StringReplace`内部实现的原因,当处理大量替换或长字符串时,它的效率会下降,因为它采用的是线性搜索和替换的方式。 为了提高效率,开发者通常会编写自定义的字符串替换算法,例如`Q_Replace`函数。这...

    AFR - Advanced Find and Replace 中文绿色正式版

    "AFR - Advanced Find and Replace 中文绿色正式版" 是一款强大的文本处理工具,专为高效地在大量文档中执行复杂的查找和替换操作而设计。这个软件的特点在于它提供了类似于搜索引擎的查询方式,使得用户能够更精准...

    搜索替换工具Search And Replace

    "搜索替换工具Search And Replace"是一款实用的软件工具,主要用于在大量文本文件中进行高效的查找与替换操作。这款工具能够帮助用户快速定位并修改特定文本,尤其在处理大量代码文件或者文档时,大大提升了工作效率...

    SearchReplace查找和替换

    在IT领域,查找和替换是文本处理中非常基础且重要的操作。无论是编程、文档编辑还是数据分析,我们都需要频繁地对文本进行查找并替换特定的...理解并熟练掌握查找和替换的使用,能够帮助我们在日常工作中更加得心应手。

    Search And Replace 文件批量搜索与替换

    "Search And Replace"是一款强大的文件批量搜索与替换工具,它在IT行业中被广泛使用,尤其对于开发者来说,这款软件是日常工作中不可或缺的一部分。批量搜索与替换功能极大地提升了工作效率,减少了手动操作的时间和...

    SearchAndReplace6.5 中文版本

    **SearchAndReplace6.5中文版本**是一款强大的文本处理工具,专为开发者和高级用户设计,用于高效地进行内容搜索和替换操作。它不仅具备基本的查找和替换功能,还支持批量搜索和批量替换,极大地提高了工作效率。...

    Advanced Find and Replace v2.0网页内容批量修改替换

    Advanced Find and Replace v2.0是一款专业的文本处理工具,尤其在网页内容的批量修改和替换方面表现出色。这款软件能够极大地提升工作效率,特别是在处理大量网页文件时,避免了手动逐个修改的繁琐过程。 首先,...

    Actual Search & Replace 2.8.6 最好的内容替换工具

    软件名称: Actual Search & Replace 版本:2.8.6 汉化作者:余飞雨 ...到搜索条件后可以批量替换搜索内容,或者在搜索内容前后插入,删除 搜索内容等。它是网站站长或电子书制作者不可多得的好帮手。

    Advanced Find and Replace(文本查找替换)

    此外,"Advanced Find and Replace"可能还包括其他高级特性,比如搜索文件类型筛选,这意味着你可以指定只在某种类型的文件(如.txt、.docx或.csv)中进行查找和替换。还有可能有文件大小限制、忽略大小写、全词匹配...

    Search and Replace 5.9查找与替换工具

    如果说 Actual Search & Replace 堪称文件内容替换工具中的“屠龙刀”的话,那么,Search and Replace 则堪称文件内容搜索工具中的“倚天剑”。它不仅可以在任何文件中搜索,甚至可以以 二进制或脚本方式搜索,在 ...

    SearchAndReplace文件内容查找与替换

    SearchAndReplace 文件内容查找与替换 做项目时,我发现这东西巨好用。 支持自定义后缀,比如:*.* 、*.java 、* 分别代表:任意后缀和任意文件名的文件、任意文件名的JAVA类型文件、无后缀的所有文件

    JavaScript替换和替换所有

    在JavaScript编程语言中,字符串操作是一项非常基础且重要的功能,其中“替换”和“替换所有”是经常被使用的两个概念,它们分别对应于`replace()`方法的不同用法。本文将详细解析这两个知识点,帮助读者更好地理解...

    搜索与替换的高级利器——Search and Replace

    Search and Replace 则堪称文件内容搜索 工具中的“倚天剑”。它不仅可以在任何文件中搜索,甚至可以以 二进制或脚本方式搜索,在 ZIP 文件中搜索,可以以文本或网页方式 显示搜索结果,批量替换文件时间属性...总之...

    php str_replace替换指定次数的方法详解

    总之,`str_replace`函数在PHP中用于简单的查找和替换,而当你需要控制替换次数或者进行更复杂的替换逻辑时,可以使用`preg_replace`配合正则表达式。同时,别忘了`str_replace`是区分大小写的,如果你需要不区分大...

    search and replace查找与替换工具

    查找与替换功能允许用户在文本或代码中搜索特定的字符串,并将其替换为另一个指定的字符串。这个过程可以是全局的,也可以限制在特定范围内。在编程中,这有助于快速修改大量代码中的错误或者统一代码风格。 2. **...

    搜索替换工具Search and Replace

    "Search and Replace"就是这样一款专为Windows用户设计的搜索替换工具,它允许用户在大量文件中快速定位并修改指定的信息。这款工具不仅支持基本的文本搜索,还具备高级过滤功能,使得复杂的工作变得轻松便捷。 ###...

Global site tag (gtag.js) - Google Analytics