2016-12-04 2 views
0

Ich habe Probleme beim Einfügen von Zeichen im Ergebnis der Regex. Ich brauche einige, wie dies zu tun:Einfügen von Zeichen am Anfang und Ende der Regex Ergebnis auf Javascript

var str = "Hello world, hello"; 
var regX = /he/ig; 

Das Ergebnis sind eine Zeichenfolge wie folgt sein:

console.log(result); 
<mark>He</mark>llo world, <mark>he</mark>llo" 

Ich habe versucht, diesen Code verwenden:

r = /he/ig; 
str = "Hello world Hello"; 
var match, indexes = []; 
while (match= r.exec(str)){ 
    indexes.push([match.index, match.index+match[0].length]); 
} 

indexes.forEach((element) => { 
    var strStart = str.substring(0,element[0]); 
    var strBetween = "<mark>"+str.substring(element[0],element[1])+"</mark>"; 
    var strEnd = str.substring(element[1],str.length); 
    str = strStart.concat(strBetween,strEnd); 
}); 

console.log(str); //<mark>He</mark>llo worl<mark>d </mark>Hello     

Ich verstehe, wo ist der Fehler aber ich weiß nicht, wie ich das lösen soll.

+0

warum 'd' Zeichen am Ende mit '' gehüllt wird? – RomanPerekhrest

Antwort

0

Sie können dies mit dem .replace() Methode:

var str = "Hello world hello"; 
var result = str.replace(/he/ig, "<mark>$&</mark>"); 

Die $& im Ersetzungsstring bedeutet, dass der gefundene Text ersetzt werden soll.

Verwandte Themen