javascript,替换以下两种情况的最佳方法是什么? 可以使用替换和添加正则表达式来做到这一点,如果是的话,怎么样?在Javascript中,替换全部在第二个字符后存在或全部替换为两个字符
I want to convert "aaa.bbb.ccc" TO "aaa.bbb.*"
I want to convert "aaa.bbb.ccc.ddd.eee" TO "aaa.bbb.*.ddd.*"
javascript,替换以下两种情况的最佳方法是什么? 可以使用替换和添加正则表达式来做到这一点,如果是的话,怎么样?在Javascript中,替换全部在第二个字符后存在或全部替换为两个字符
I want to convert "aaa.bbb.ccc" TO "aaa.bbb.*"
I want to convert "aaa.bbb.ccc.ddd.eee" TO "aaa.bbb.*.ddd.*"
var map = 'qwertyuiopasdfghjklzxcvbnm'.split('');
var rand = function(){
var len = map.length,
arr = [],
i;
for (i = 0; i < 3; i++){
arr.push(map[Math.floor(Math.random()*len)]);
}
return arr.join('');
};
var randStr = [rand(), rand()];
/* ASSUME above code is how you get random string */
var string = 'aaa.bbb.' + randStr[0] + '.ddd.' + randStr[1];
// use new RegExp() to parse string as regular expression
var regexp = new RegExp(randStr[0] + '|' + randStr[1], 'gi');
console.log(string.replace(regexp, '*'));
了解更多关于new RegExp()
here(容易的),here(详细一个)和here(工作实施例)。
你应该能够在你的代码中应用这个概念。
你已经试过了什么? – Kruser
使用索引,找到点并替换。 – thomas
对于那些aaa bbb ccc,这些字符是随机生成的。不是静态的 – thomas