3
假設我有一段文字,我想用索引號碼替換單詞「the」的每個實例。有沒有辦法將代碼添加到正則表達式匹配的每個實例?
例如...
「大白鯊咬是理論之父」。
將成爲...
「0大白鯊咬是的3ory 1 fa2r。」
我在尋找類似: myText.match(/的/ GI)。每個(函數(I){? // });
jquery解決方案歡迎。
假設我有一段文字,我想用索引號碼替換單詞「the」的每個實例。有沒有辦法將代碼添加到正則表達式匹配的每個實例?
例如...
「大白鯊咬是理論之父」。
將成爲...
「0大白鯊咬是的3ory 1 fa2r。」
我在尋找類似: myText.match(/的/ GI)。每個(函數(I){? // });
jquery解決方案歡迎。
例子:http://jsfiddle.net/sYQgb/1/
var i = -1;
myText = myText.replace(/the/gi, function(){ return ++i; });
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+" </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
我最喜歡的功能。請注意,提供的函數傳遞的參數列表與「exec」函數返回的數組基本相同。第一個參數是整個匹配,後面的參數是捕獲的組。 (我知道你知道@帕特里克dw我只是補充說,年輕人閱讀這些答案。) – Pointy 2011-02-14 18:31:16