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