2017-06-22 5 views
0

Javascript, was ist der beste Weg, um folgende zwei Szenario zu ersetzen. Es ist möglich, ersetzen und hinzufügen Regex, um dies zu tun, wenn ja, wie?IN Javascript, ersetzen alle nach der zweiten Existenz eines Zeichens oder ersetzen alle zwischen zwei Zeichen

I want to convert "aaa.bbb.ccc" TO "aaa.bbb.*" 
I want to convert "aaa.bbb.ccc.ddd.eee" TO "aaa.bbb.*.ddd.*" 
+1

Was hast du schon probiert? – Kruser

+0

Index verwenden, Punkt finden und ersetzen. – thomas

+0

Für diese aaa bbb ccc werden diese Zeichen zufällig generiert. nicht statisch – thomas

Antwort

0

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, '*'));

Lesen Sie mehr über new RegExp()here (leicht), here (detaillierte eins) und here (Arbeitsbeispiel).

Sie sollten jetzt dieses Konzept in Ihrem Code anwenden können.

+0

ccc und eee sind zufällige Zeichen, was wir sicher sind wir haben '.' zwischen diesen Zeichen – thomas

+0

@thomas siehe aktualisierte Antwort –

+0

Danke für die Antwort, die Sache ist, aaa, bbb, ccc, ddd, alle von ihnen sind zufällig generiert, das einzige, was sicher ist, ist "." – thomas

Verwandte Themen