返回根據正則表達式進行文字替換后的字符串的復制。
stringObj.replace(rgEXP, replaceText)
stringObj
必選項。要執行該替換的 String 對象或字符串文字。該字符串不會被 replace 方法修改。
rgExp
必選項。為包含正則表達式模式或可用標志的正則表達式對象。也可以是 String 對象或文字。假如 rgExp 不是正則表達式對象,它將被轉換為字符串,并進行精確的查找;不要嘗試將字符串轉化為正則表達式。
replaceText
必選項。是一個String 對象或字符串文字,對于stringObj 中每個匹配 rgExp 中的位置都用該對象所包含的文字加以替換。在 Jscript 5.5 或更新版本中,replaceText 參數也可以是返回替換文本的函數。
replace 方法的結果是一個完成了指定替換的 stringObj 對象的復制。
下面任意的匹配變量都能用來識別最新的匹配以及找出匹配的字符串。在需要動態決定替換字符串的文本替換中可以使用匹配變量。
假如 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; //
初始化模式。
新聞熱點
疑難解答