如果与前一个字母匹配,则使用Javascript replace()



<script>
function myFunction() {
var str = document.getElementById("demo").innerHTML; 
var res = str.replace("/'Karim'['ganj']/", "gonj");
document.getElementById("demo").innerHTML = res;
}
</script>
<p id="demo">Welcome to Karimganj!</p>
<button onclick="myFunction()">Try it</button>

我想把"ganj"替换为"gonj",前提是它以前有"Karim"。我该怎么做?请帮助

使用|构建regex以或可能的前缀:

const prefixes = ['Karim','Kishor', 'X', 'Y', 'Z']
const replace = 'ganj', replacement = 'gonj'
const re = new RegExp(`(${prefixes.join('|')})${replace}`,'gi')
function myFunction() {
var str = document.getElementById("demo").innerHTML; 
var res = str.replace(re, `$1${replacement}`);
document.getElementById("demo").innerHTML = res;
}
<p id="demo">Welcome to Karimganj!
ganji
Kishorganj
Xganj
Yganj
Zganj
ganja
Reganja
KarimGanja
</p>
<button onclick="myFunction()">Try it</button>

最新更新