有没有一种方法可以在页面中用一个replace
单词与另一个单词进行区分但不区分大小写,以便它替换每个单词,还可以保留刚替换的单词的原始大小写?我目前正在使用这种区分大小写的方法。
document.body.innerHTML = document.body.innerHTML.replace(/hello/g, 'hi');
最佳答案
在g之后添加一个i ... / hello / gi表示贪婪,不区分大小写。
啊啊,错过了保留案件的一部分...这变得有点复杂。
var matches1 = document.getElementById('test').innerHTML.match(/hello/g);
var matches2 = document.getElementById('test').innerHTML.match(/Hello/g);
for(var i=0;i<matches1.length;i++){
document.getElementById('test').innerHTML = document.getElementById('test').innerHTML.replace(matches1[i], 'hi');
}
for(var i=0;i<matches2.length;i++){
document.getElementById('test').innerHTML = document.getElementById('test').innerHTML.replace(matches2[i], 'Hi');
}
还没有测试过,但是应该可以。
编辑:/ \ shello \ s /不适用于\ s,这是一个小提琴。
EDIT2:给@Felix Kling一个cookie!
document.getElementById('test').innerHTML = document.getElementById('test').innerHTML.replace(/hello/g, 'hi').replace(/Hello/g, 'Hi');
一样好,而且更短!同样的小提琴!
关于javascript - javascript不区分大小写的替换方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24817321/