replace 方法

 

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

stringObj.replace(rgExp, replaceText)

参数

stringObj

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

rgExp

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

replaceText

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

说明

replace 方法的结果是一个完成了指定替换的 stringObj 对象的复制。

下面任意的匹配变量都能用来识别最新的匹配以及找出匹配的字符串。在需要动态决定替换字符串的文本替换中可以使用匹配变量。

字符 含义
$$ $ (JScript 5.5 或更新版本)
$& 指定与整个模式匹配的 stringObj 的部分。 (JScript 5.5 或更新版本)
$` 指定由 $& 描述的匹配之前的 stringObj 部分。 (JScript 5.5 或更新版本)
$' 指定由 $& 描述的匹配之后的 stringObj 部分。 (JScript 5.5 或更新版本)
$n 捕获的第 n 个子匹配,此处 n 为从1到9的十进制一位数。 (JScript 5.5 或更新版本)
$nn 捕获的第 nn 个子匹配,此处 nn 为从01到99的十进制两位数。 (JScript 5.5 或更新版本)

如果 replaceText 为函数,对于每一个匹配的子字符串,调用该函数时带有下面的 m+3 个参数,此处 m 是在 rgExp 中捕获的左括弧的个数。第一个参数是匹配的子字符串。接下来的 m 个参数是查找中捕获的全部结果。第 m+2 个参数是在 stringObj 中匹配出现的偏移量,而第 m+3 个参数为 stringObj。结果为将每一匹配的子字符串替换为函数调用的相应返回值的字符串值。

Replace 方法更新全局 RegExp 对象的属性。

示例

下面的示例演示了 replace 方法将第一次出现的单词 "The" 替换为单词 "A" 的用法。

function ReplaceDemo(){   var r, re;                    // 声明变量。   var ss = "The man hit the ball with the bat.\n";   ss += "while the fielder caught the ball with the glove.";   re = /The/g;             // 创建正则表达式模式。   r = ss.replace(re, "A");    //  "A" 替换 "The"。   return(r);                   // 返回替换后的字符串。}

另外, replace 方法也可以替换模式中的子表达式。 下面的范例演示了交换字符串中的每一对单词:

function ReplaceDemo(){   var r, re;                      // 声明变量。   var ss = "The rain in Spain falls mainly in the plain.";   re = /(\S+)(\s+)(\S+)/g;        // 创建正则表达式模式。   r = ss.replace(re, "$3$2$1");   // 交换每一对单词。   return(r);                      // 返回结果字符串。}

下面的示例(在 JScript 5.5 及更新版本中执行)执行的是从华氏到摄氏的转换,它演示了使用函数作为 replaceText。要想知道该函数是如何工作的,传递一个包含数值的字符串,数值后要紧跟 "F" (例如 "Water boils at 212")。

function f2c(s) {  var test = /(\d+(\.\d*)?)F\b/g;    // 初始化模式。  return(s.replace    (test,      function($0,$1,$2) {         return((($1-32) * 5/9) + "C");      }    )  );}document.write(f2c("Water freezes at 32F and boils at 212F."));

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索replace
, 正则表达式
, 字符串
, 对象
, 更新
, 版本
, 更新字符串
一对一替换
string的replace方法、js的replace方法、js的replaceall方法、js中的replace方法、js replace方法,以便于您获取更多的相关知识。

时间: 2024-08-01 11:50:04

replace 方法的相关文章

javascript正则表达式中的replace方法详解

  replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正则表达式对象(RegExp)也可以是字符串(string),replaceText是替代查找到的字符串.. 前面的文章我已经介绍了正则的四个基本方法,当时也提到过replace方法 我们来回顾一下replace方法的使用: 先定义一个正则对象:var re=/中间写匹配的条件/; replace():正则匹配字符串,若是匹配

&#106avascript 中的replace方法

1第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.  2而str.replace(/\-/g,"!")则可以替换掉全部匹配的字符(g为全局标志). 3 4 5replace()  6The replace() method returns the string that results when you replace text matching its fir

如何使replace方法不区分大小写?

大小写 被替换的文本的实际模式是通过 RegExp 对象的 Pattern 属性设置的. Replace 方法返回 string1 的副本,其中的 RegExp.Pattern 文本已经被替换为 string2.如果没有找到匹配的文本,将返回原来的 string1 的副本. 下面的例子说明了 Replace 方法的用法. Function ReplaceTest(patrn, replStr)Dim regEx, str1 ' 建立变量.str1 = "The quick brown fox j

如何使replace方法不区分大小写

大小写 被替换的文本的实际模式是通过 RegExp 对象的 Pattern 属性设置的. Replace 方法返回 string1 的副本,其中的 RegExp.Pattern 文本已经被替换为 string2.如果没有找到匹配的文本,将 返回原来的 string1 的副本. 下面的例子说明了 Replace 方法的用法. Function ReplaceTest(patrn, replStr) Dim regEx, str1 ' 建立变量. str1 = "The quick brown fo

JavaScript的replace方法与正则表达式结合应用讲解

大家好!!今晚在华软G43*宿舍没什么事做,把javascript中replace方法讲解一下,如果讲得不对或不合理是情理之中的事,因为我不是老鸟,也不是菜鸟,我也不知道我当底是什么鸟??呵~~ replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正则表达式对象(RegExp)也可以是字符串(string),replaceText是替代查找到的字符串..为了帮助大家更好的理解,下面

JavaScript中的replace()方法使用详解

  这篇文章主要介绍了JavaScript中的replace()方法使用详解,是JS入门学习中的基础知识,需要的朋友可以参考下 该方法找到一个正则表达式的字符串之间的匹配,并取代了匹配的子带的新的子串. 替换字符串可以包含以下特殊替换模式: 语法 ? 1 string.replace(regexp/substr, newSubStr/function[, flags]); 下面是参数的详细信息: regexp : 一个RegExp对象.匹配被替换参数的返回#2. substr : 一个字符串,由

JS中的Replace方法使用经验分享

  本文给大家分享的是我们在使用javascript中的replace方法的时候需要注意的一个事项,我就是没有注意到,才被这个bug烦了好久,这里记录下来,有需要的小伙伴可以参考下. 最近查一个bug,原因是JS中的Replace方法造成的,当将一个字符串中有处需要替换时,一般会用到JS中的Replace方法,Replace方法的第一个参数如果是传的字符串,只会替换第一处.代码如下: 复制代码 代码如下: var str = "0CEA65D5-DB8E-4876-A6F8-C88AC7F0E1

浅谈jQuery中replace()方法

  这篇文章主要介绍了jQuery中replace()方法用法,实例分析了replace()方法的功能.定义及匹配元素去替换指定内容的方法,需要的朋友可以参考下 今天在读jquery源码时,发现一个以前自己不曾注意过得问题,就是replece()的第二个参数为函数时的问题,以前只是知道replace()的第二个参数可以为函数,但是不知道该怎么操作,今天看到源码里用到了函数作为replace()的第二个参数时,感觉自己读起来比较吃力,于是准备整理下这个函数... 语法 stringObject.r

Python中操作字符串之replace()方法的使用

  这篇文章主要介绍了在Python中操作字符串之replace()方法的使用,是Python入门中的基础知识,需要的朋友可以参考下 replace()方法返回当前old换成new,可选择的替代限制到最大数量的字符串的副本. 语法 以下是replace()方法的语法: ? 1 str.replace(old, new[, max]) 参数 old -- 这是要进行更换的旧子串. new -- 这是新的子串,将取代旧的子字符串. max -- 如果这个可选参数max值给出,仅第一计数出现被替换.