Javascript 如何用JS将重复数按1相加?
我猜我问错了这个问题,不幸的是,所有提交的内容都不完全符合我的要求,我需要的只是(第n个数字…)的替换:Javascript 如何用JS将重复数按1相加?,javascript,replace,repeat,Javascript,Replace,Repeat,我猜我问错了这个问题,不幸的是,所有提交的内容都不完全符合我的要求,我需要的只是(第n个数字…)的替换: var temp='11随机文本11随机文本11随机文本11随机文本11'; to:(但也保持文本+标记不变) var temp='11随机文本22随机文本33随机文本4'; 除了标记似乎不正确之外,您可以使用循环并将迭代器计数到有限的数字: var items = 3; var temp = ''; for (var i = 1; i <= items; i++) { t
var temp='11
随机文本11
随机文本11
随机文本11
随机文本11';
to:(但也保持文本+标记不变)
var temp='11
随机文本22
随机文本33
随机文本4';
除了标记似乎不正确之外,您可以使用循环并将迭代器计数到有限的数字:
var items = 3;
var temp = '';
for (var i = 1; i <= items; i++) {
temp += "<nr=" + i + ">lorem ipsum<nr=" + i + ">";
}
console.log(temp);
var项=3;
var temp=“”;
对于(var i=1;i您可以使用如下内容。底部有一把小提琴
var temp = '<nr="1">lorem ipsum<nr="1">\
<nr="1">lorem ipsum<nr="1">\
<nr="1">lorem ipsum<nr="1">';
var tags = temp.split(' ');
temp = "";
for(var i = 0; i < tags.length; i++){
var tmp = tags[i].replace('<nr="1">', '<nr="'+(i+1)+'">');
tmp = tmp.replace('<nr="1">', '<nr="'+(i+1)+'">');
temp += tmp;
}
console.log(temp);
var temp='lorem ipsum\
同侧眼睑\
"同侧眼",;
变量标签=温度拆分(“”);
温度=”;
对于(var i=0;i
如果输入可以是任何东西,而不是您自己构建的东西,那么正则表达式是您最好的选择
var n = 0;
var rx = /(<nr=")1(">[^<]*<nr=")1(">)/g;
var result = temp.replace(rx, function(whole, one, two, three){
n += 1;
return one + n + two + n + three;
});
var n=0;
var rx=/([^基于显著变化的问题
看到和
Javascript
function modify(string) {
var n = 0;
return temp.replace(/\b1(\s+)1\b/g, function (all, whitespace) {
n += 1;
return n + whitespace + n;
});
}
var temp = '1 1 <br>random text</br> 1 1 <br>random text</br> 1 1 <br>random text</br> 1 1';
console.log(modify(temp));
函数修改(字符串){
var n=0;
返回临时替换(/\b1(\s+)1\b/g,函数(全部,空白){
n+=1;
返回n+空格+n;
});
}
变量温度='11
随机文本11
随机文本11
随机文本11
随机文本11';
控制台日志(修改(临时));
输出
1 1 <br>random text</br> 2 2 <br>random text</br> 3 3 <br>random text</br> 4 4
11
随机文本22
随机文本33
随机文本4
在上,您从何处获取字符串?您尝试了什么?
不是有效的标记,如果它应该是一个标记的话。此外,您最好自己生成所有HTML,而不是大量生成字符串manipulation@Bojangles谁说它是HTML?它也不是有效的XML fwiw,但OP可能使用不同的格式。@Benjamin G我看到了JavaScript和一个标记,虽然“啊,这是HTML,但错了”,但现在你的问题已经有了很大的改变,为什么不向我们展示一下你的尝试,告诉我们你面临的问题,以便我们帮助纠正它。i@BenjaminGruenbaum很好,更新了循环
。
function modify(string) {
var n = 0;
return temp.replace(/\b1(\s+)1\b/g, function (all, whitespace) {
n += 1;
return n + whitespace + n;
});
}
var temp = '1 1 <br>random text</br> 1 1 <br>random text</br> 1 1 <br>random text</br> 1 1';
console.log(modify(temp));
1 1 <br>random text</br> 2 2 <br>random text</br> 3 3 <br>random text</br> 4 4