在Javascript中使用带有while循环的.replace

时间:2012-07-26 21:46:33

标签: javascript replace while-loop

我正在编写一个将大块文本切成1000个字符块的函数。然而,在它执行此操作之前,我想删除字符串'[edit]'的所有实例。出于某种原因,下面的代码不适合我。我究竟做错了什么? (对于整个代码字符串,http://jsfiddle.net/ayoformayo/yTcRb/13/

function cutUp(){
    var PAname= prompt("Determine PA type and PA Name");
var chunks = [];
var OGstring = document.getElementById('PATypes').value;
var my_long_string = OGstring.replace("[edit]","");


var i = 0;
var n = 0;
while(n < my_long_string.length) {
chunks.push(my_long_string.slice(n, n += 1000));

}
document.getElementById('PAType=Name=Value4').innerHTML = PAname + chunks[0];
document.getElementById('PAType=Name=Value5').innerHTML = PAname + chunks[1];

1 个答案:

答案 0 :(得分:2)

默认情况下,String.prototype.replace只匹配搜索字符串的单个实例。要替换所有匹配项,需要将全局标记传递给它。

myString.replace(/\[edit\]/g,"")

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace