s = 'hello %s, how are you doing' % (my_name)
So machst du es in Python. Wie können Sie das in javascript / node.js tun?
javascript
string
node.js
TIMEX
quelle
quelle
var s = 'hello ${my_name}, how are you doing';
Antworten:
Wenn Sie etwas Ähnliches haben möchten, können Sie eine Funktion erstellen:
Verwendung:
Dies ist nur ein einfaches Beispiel und berücksichtigt nicht verschiedene Arten von Datentypen (wie
%i
usw.) oder das Entkommen von%s
. Aber ich hoffe, es gibt Ihnen eine Idee. Ich bin mir ziemlich sicher, dass es auch Bibliotheken gibt, die eine solche Funktion bieten.quelle
Mit Node.js
v4
können Sie die Vorlagenzeichenfolgen von ES6 verwendenSie müssen den String
`
stattdessen in den Backtick einschließen'
quelle
hello ${my_name}, how are you doing
und ich nach dem Lesen der Zeichenfolge aus der Konfiguration eine Variable dynamisch zuweisen möchte?Wenn Sie ES6 verwenden, sollten Sie die Vorlagenliterale verwenden.
Lesen Sie hier mehr: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
quelle
Ab
node.js
>4.0
sofort wird es kompatibler mit dem ES6-Standard, bei dem die String-Manipulation erheblich verbessert wurde.Die Antwort auf die ursprüngliche Frage kann so einfach sein wie:
Wenn die Zeichenfolge mehrere Zeilen umfassen kann, sind Vorlagen oder HTML / XML-Prozesse recht einfach. Weitere Details und mehr Möglichkeiten dazu: Vorlagenliterale sind Stringliterale bei mozilla.org.
quelle
util.format macht das.
Es wird Teil von v0.5.3 sein und kann folgendermaßen verwendet werden:
quelle
TU das:
Aktualisieren
Mit ES6 können Sie auch Folgendes tun:
quelle
Einige Möglichkeiten zum Erweitern
String.prototype
oder Verwenden von ES2015- Vorlagenliteralen .quelle
Versuchen Sie sprintf in JS oder verwenden Sie dieses Wesentliche
quelle
Wenn Sie node.js verwenden, verwendet console.log () die Formatzeichenfolge als ersten Parameter:
quelle
console.log()
gibt nur die formatierte Zeichenfolge an ausSTDOUT
. Mit anderen Worten, Sie können das Ergebnis voncount: %d
quelle
Ich habe eine Funktion geschrieben, die das Problem genau löst.
Das erste Argument ist die Zeichenfolge, die parametrisiert werden wollte. Sie sollten Ihre Variablen in diese Zeichenfolge wie das folgende Format "% s1,% s2, ...% s12" einfügen .
Andere Argumente sind jeweils die Parameter für diese Zeichenfolge.
Beispiele
Wenn sich die variable Position in dieser Zeichenfolge ändert, wird sie auch von dieser Funktion unterstützt, ohne die Funktionsparameter zu ändern.
quelle
quelle
Hier ist ein mehrzeiliges String-Literal- Beispiel in Node.js.
quelle