gpt4 book ai didi

Javascript Regex-用相同数量的另一个字符替换字符序列

转载 作者:数据小太阳 更新时间:2023-10-29 05:13:35 24 4
gpt4 key购买 nike

我正在尝试用 JavaScript 中相同数量的虚拟字符替换字符串的一部分,例如:'==Hello==' 为 '==~~~~~=='。

已使用 Perl 回答了这个问题和 PHP ,但我无法让它在 JavaScript 中运行。我一直在尝试这个:

txt=txt.replace(/(==)([^=]+)(==)/g, "$1"+Array("$2".length + 1).join('~')+"$3");

模式匹配工作正常,但替换没有 - 第二部分添加'~~'而不是模式匹配的长度。将“$2”放在括号内是行不通的。我该怎么做才能让它插入正确数量的字符?

最佳答案

改为使用函数进行替换:

var txt = "==Hello==";
txt = txt.replace(/(==)([^=]+)(==)/g, function ($0, $1, $2, $3) {
return $1 + (new Array($2.length + 1).join("~")) + $3;
});

alert(txt);
//-> "==~~~~~=="

关于Javascript Regex-用相同数量的另一个字符替换字符序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7456559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com