Ihre regex /\\.br<[0-9]+>\\/g
ist falsch. .
im Regex-Kontext bedeutet "ein beliebiges Zeichen außer Zeilenumbrüchen". Daher müssten Sie dem Punkt in Ihrer Regex entkommen.
/\\\.br<[0-9]+>\\/g
/(\\\.br<([0-9]+)>\\)/g
Als nächstes, wenn Sie sich ansehen String.prototype.replace wie von T.J. Crowder, kommt die folgende Lösung in dem Sinne:
function replacer(match, p1, p2, offset, string) {
let result = '';
for (let i = 0; i < Number(p2); i++) {
result += '\n';
}
return result;
}
var newString = String('Hello \\.br<3>\\ World!').replace(/(\\\.br<([0-9]+)>\\)/g, replacer);
console.log(newString);
Beachten Sie, dass die hartcodierte Zeichenfolge im Code 2 \\
enthält, da dies ein Escape-Zeichen ist. Wenn Sie die Zeichenfolge vom Benutzer über ein Textfeld erhalten, reicht die Eingabe eines \
aus.
Willkommen bei SO. Siehe [So stellen Sie eine gute Frage] (https://stackoverflow.com/help/how-to-ask). Es ist kein Code-Schreibdienst. – Utkanos
Schauen Sie in den Callback auf 'String.prototype.replace'. –
nicht * Anzahl der Leerzeichen *, aber die Anzahl der Zeilenumbrüche, nehme ich an – RomanPerekhrest