我想用迭代数
替换字符串中的空行e.g。 取代
字符串:
"My first line
My second line
My third line"
与
"
1
My first line
2
My second line
3
My third line"
我可以使用
匹配并替换这些行var newstring = TestVar.replace (/(^|\n\n)/g, "\nhello\n");
但是我很难添加一个函数,它会为每个函数添加一个迭代编号。
你能帮忙吗?
TIA,
导游服务
答案 0 :(得分:9)
是的,你可以在javascript中做到这一点。您只需将函数作为第二个参数传递给replace
。
var i = 0;
var newstring = TestVar.replace(/(^|\n\n)/g, function() { return '\n' + (++i) + '\n'; });
函数实际上会获得很多参数,您可以根据这些参数来决定要替换的值,但我们不需要任何这些参数来完成此任务。
然而,了解它们很好,MDC有一个很棒的documentation on the topic
答案 1 :(得分:2)
这是一个不使用正则表达式的版本。您可以使用split()
的{{1}}方法,但坦率地说,我会使用更简洁的正则表达式版本。
String
答案 2 :(得分:0)
用html中的名字替换图像路径我做的就像这样
html='hello <img src="../../../../yahoo/images/icons/common/image_one.png">a<img \
src="add.png"> xyz <table><tbody><tr><td>He<img src="document_add.png">loo<img\
src="document_add.png"></td></tr></tbody></table><img src="CD_delete.png"><img src="check.png">'
html.replace(/src="(.*?)"/ig, function($1){return 'src="'+$1.match(/([^\/\\]+)\.(\w+)/)[0]+'"' });
输出
"hello <img src="image_one.png">a<img src="src="add.png"> xyz <table><tbody><tr><td>He<img src="src="document_add.png">loo<img src="src="document_add.png"></td></tr></tbody></table><img src="src="CD_delete.png"><img src="src="check.png">"