2011-02-14 18 views

回答

5

例子:http://jsfiddle.net/sYQgb/1/

var i = -1; 
myText = myText.replace(/the/gi, function(){ return ++i; }); 
+1

我最喜歡的功能。請注意,提供的函數傳遞的參數列表與「exec」函數返回的數組基本相同。第一個參數是整個匹配,後面的參數是捕獲的組。 (我知道你知道@帕特里克dw我只是補充說,年輕人閱讀這些答案。) – Pointy 2011-02-14 18:31:16

0
function replaceText(text, splitArg) { 
    //var text ="axaxa"; 
    var parts = text.split(splitArg); 

    var replaced = ""; 
    var part; 
    for (var i=0;i<parts.length;i++) { 
     part = parts[i] 
     if(i > 0) 
      replaced += i-1; 

     replaced+=part; 

    } 
    return replaced; 
} 


function writeLine(text) { 
    document.write("<p>"+text+" &nbsp;</p>"); 
} 

writeLine(replaceText("axa", "x")); 
writeLine(replaceText("axaxa", "x")); 
writeLine(replaceText("axaxxa", "x")); 
writeLine(replaceText("axaxxa", /x+/));//**using a regex!** 
writeLine(replaceText("", "x")); 
writeLine(replaceText("aa", "x")); 

//output: 
//a0a 
//a0a1a 
//a0a12a 
//a0a1a 
// 
//aa 

如果你要玩:http://jsfiddle.net/QFUWG/

相關問題