s = 'hello %s, how are you doing' % (my_name)
C'est comme ça que vous le faites en python. Comment pouvez-vous faire cela dans javascript / node.js?
javascript
string
node.js
TIMEX
la source
la source
var s = 'hello ${my_name}, how are you doing';
Réponses:
Si vous voulez avoir quelque chose de similaire, vous pouvez créer une fonction:
Usage:
Ceci n'est qu'un exemple simple et ne prend pas en compte les différents types de types de données (comme
%i
, etc.) ou les échappements de%s
. Mais j'espère que cela vous donne une idée. Je suis presque sûr qu'il existe également des bibliothèques qui fournissent une fonction comme celle-ci.la source
Avec Node.js
v4
, vous pouvez utiliser les chaînes de modèle d'ES6Vous devez envelopper la chaîne dans le backtick
`
au lieu de'
la source
hello ${my_name}, how are you doing
et que je souhaite attribuer une variable dynamiquement après avoir lu la chaîne depuis la configuration?si vous utilisez ES6, vous devez utiliser les littéraux de modèle.
en savoir plus ici: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
la source
À partir de là,
node.js
>4.0
il devient plus compatible avec la norme ES6, où la manipulation des chaînes s'est grandement améliorée.La réponse à la question initiale peut être aussi simple que:
Là où la chaîne peut s'étendre sur plusieurs lignes, elle facilite considérablement les modèles ou les processus HTML / XML. Plus de détails et plus de capacités à ce sujet: Les littéraux de modèle sont des littéraux de chaîne sur mozilla.org.
la source
util.format fait cela.
Il fera partie de la v0.5.3 et peut être utilisé comme ceci:
la source
Faites ça:
Mettre à jour
Avec ES6, vous pouvez également faire ceci:
la source
Quelques façons d'étendre
String.prototype
ou d'utiliser des littéraux de modèle ES2015 .la source
Essayez sprintf dans JS ou vous pouvez utiliser l' essentiel
la source
Si vous utilisez node.js, console.log () prend la chaîne de format comme premier paramètre:
la source
console.log()
renvoie uniquement la chaîne formatée versSTDOUT
. En d'autres termes, vous ne pouvez pas utiliser le résultat decount: %d
la source
J'ai écrit une fonction qui résout le problème avec précision.
Le premier argument est la chaîne qui voulait être paramétrée. Vous devriez mettre vos variables dans cette chaîne comme ce format "% s1,% s2, ...% s12" .
Les autres arguments sont respectivement les paramètres de cette chaîne.
Exemples
Si la position de la variable change dans cette chaîne, cette fonction la prend également en charge sans modifier les paramètres de la fonction.
la source
la source
Voici un exemple de littéral de chaîne multiligne dans Node.js.
la source