我试图在JavaScript中用相同数量的虚拟字符替换字符串的一部分,例如:'== Hello =='with'== ~~~~~ =='.
使用Perl和PHP已经回答了这个问题,但我无法在JavaScript中使用它.我一直在尝试这个:
txt=txt.replace(/(==)([^=]+)(==)/g, "$1"+Array("$2".length + 1).join('~')+"$3");
Run Code Online (Sandbox Code Playgroud)
模式匹配工作正常,但替换没有 - 第二部分添加'~~'而不是模式匹配的长度.将"$ 2"放在括号内是行不通的.我该怎么做才能插入正确数量的字符?
我有以下来源:
<font color="black">0</font><font color="white">1101100001001101</font><font color="black">1</font><font color="white">0110</font>
Run Code Online (Sandbox Code Playgroud)
并希望替换所有白色 1和0空格.我可以很容易地匹配它们
/<font color="white">([10]*)</font>/g
Run Code Online (Sandbox Code Playgroud)
是否有替换模式(我使用PHP)为匹配组生成相同数量的空间$1?
结果应如下所示:
<font color="black">0</font><font color="white"> </font><font color="black">1</font><font color="white"> </font>
Run Code Online (Sandbox Code Playgroud)