我的问题是我想做这样的事情:
Javascript vaja => <b>Ja</b>vascript va<b>ja</b>
即我有一个查询字符串(ja),我想用更大的字符串(Javascript vaja)替换该查询字符串的所有出现(不区分大小写)。
我现在最接近的解决方案是:
"Javascript vaja".replace(/ja/gi, '<b>ja</b>');
这给了我:
"<b>ja</b>vascript va<b>ja</b>"
但我需要的是:
Javascript vaja => <b>Ja</b>vascript va<b>ja</b>
我想到的一种解决方案是在替换之前保留大写字母的索引,然后重新替换它们。但这太hacky了。我很确定我不是第一个尝试这个的人,并且很确定在某处隐藏了一些优雅而简单的解决方案。