我正在编写一个将大块文本切成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];
答案 0 :(得分:2)
默认情况下,String.prototype.replace只匹配搜索字符串的单个实例。要替换所有匹配项,需要将全局标记传递给它。
myString.replace(/\[edit\]/g,"")
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace