Sagen wir, ich habe eine Zeichenfolge:eine ganze Zahl (n) mit einem Zeichen Ersetzen n-mal wiederholt
"__3_"
... die ich in drehen möchte:
"__###_"
im Grunde ein Ersatz Ganzzahl mit wiederholten Vorkommen von #
entspricht dem Ganzzahlwert. Wie kann ich das erreichen?
Ich verstehe, dass Rückreferenzierungen mit str.replace()
var str = '__3_'
str.replace(/[0-9]/g, 'x$1x'))
> '__x3x_'
verwendet werden, und dass wir str.repeat(n)
verwenden können, um String-Sequenzen n
mal zu wiederholen. Wie kann ich die Rückreferenz von .replace()
als Argument von .repeat()
verwenden? Zum Beispiel funktioniert das nicht:
str.replace(/([0-9])/g,"#".repeat("$1"))
'/ (x) \ 1 /' stimmt mit "xx" überein, wobei '\ 1' eine Rückreferenz ist. "$ 1" ist keine Rückreferenz, es ist ein spezielles Ersatzmuster. – leaf