ham*_*boy 6 javascript regex replace
我试图在JavaScript中用相同数量的虚拟字符替换字符串的一部分,例如:'== Hello =='with'== ~~~~~ =='.
使用Perl和PHP已经回答了这个问题,但我无法在JavaScript中使用它.我一直在尝试这个:
txt=txt.replace(/(==)([^=]+)(==)/g, "$1"+Array("$2".length + 1).join('~')+"$3");
Run Code Online (Sandbox Code Playgroud)
模式匹配工作正常,但替换没有 - 第二部分添加'~~'而不是模式匹配的长度.将"$ 2"放在括号内是行不通的.我该怎么做才能插入正确数量的字符?
使用替换功能:
var txt = "==Hello==";
txt = txt.replace(/(==)([^=]+)(==)/g, function ($0, $1, $2, $3) {
return $1 + (new Array($2.length + 1).join("~")) + $3;
});
alert(txt);
//-> "==~~~~~=="
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2480 次 |
| 最近记录: |