Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript将所有替换为不区分大小写,并在原始字符串中保留正确的大小写_Javascript - Fatal编程技术网

javascript将所有替换为不区分大小写,并在原始字符串中保留正确的大小写

javascript将所有替换为不区分大小写,并在原始字符串中保留正确的大小写,javascript,Javascript,我的问题是我想这样做: Javascript-vaja=>Javascript-vaja i、 e我有一个查询字符串(ja),我想用一个更大的字符串(Javascript-vaja)替换该查询字符串的所有出现(不区分大小写) 我目前最接近的解决方案是: “Javascript-vaja”。替换(/ja/gi,'ja') 这给了我: “javascript-vaja” 但我需要的是: Javascript-vaja=>Javascript-vaja 我想到的一个解决方案是在替换之前保留大写字母的索

我的问题是我想这样做:

Javascript-vaja=>Javascript-vaja
i、 e我有一个查询字符串(ja),我想用一个更大的字符串(Javascript-vaja)替换该查询字符串的所有出现(不区分大小写)

我目前最接近的解决方案是:

“Javascript-vaja”。替换(/ja/gi,'ja')

这给了我:

“javascript-vaja”

但我需要的是:

Javascript-vaja=>Javascript-vaja

我想到的一个解决方案是在替换之前保留大写字母的索引,然后重新替换它们。但这太老套了。
我敢肯定我不是第一个尝试这种方法的人,我敢肯定在某个地方隐藏着一些优雅而简单的解决方案。

只需使用一个捕获组:

"Javascript vaja".replace(/(ja)/gi, '<b>$1</b>');
“Javascript-vaja”。替换(/(ja)/gi,$1');

编辑:阅读有关捕获组的更多信息

为什么不执行两个区分大小写的replace()调用?我不太确定您的解决方案是什么,但我想处理这样的情况:
Bavascript vaba=>Bavascript vaba
,在这种情况下,迭代替换将解决问题。perfecttttt。。谢谢。工作很有魅力。(我只能在5分钟后接受答案,所以说:))