Ich fühle mich albern fragen, weil ich wette die Antwort starrt mich an, aber hier geht.Warum wird die Arbeit mit meinem Regex-Objekt nicht ersetzt, wenn der Test funktioniert?
Ich nehme eine Zeichenfolge aus dem CSS-Stil textDecoration und versuchen, den Unterstreichungsabschnitt der Zeichenfolge (und alle Leerzeichen um es) zu entfernen. Es gibt true zurück, wenn ich test() ausführe, aber wenn ich die replace-Methode mache, ist die Zeichenfolge unverändert. Hilfe?
Mein Code:
textDecoration = function(str) {
var n_str = str + '|/\s' + str + '|/\s' + str + '/\s|' + str + '/\s';
var nre = new RegExp(n_str, "g");
debug_log('Found or not: ' + nre.test(txt));
txt.replace(nre, '');
debug_log('Result: ' + txt);
debug_log('-----------------------');
}
var txt = "underline";
debug_log('-----------------------');
debug_log('Starting String: ' + txt);
textDecoration("underline");
txt = "underline overline line-through";
debug_log('-----------------------');
debug_log('Starting String: ' + txt);
textDecoration("underline");
txt = "overline underline line-through";
debug_log('-----------------------');
debug_log('Starting String: ' + txt);
textDecoration("underline");
txt = "overline line-through underline";
debug_log('-----------------------');
debug_log('Starting String: ' + txt);
textDecoration("underline");
Ausgang:
Ich bin peinlich ... Danke. Ich werde in T-Minus 8 Minuten akzeptieren. –