s = 'hello %s, how are you doing' % (my_name)
Tak to się robi w Pythonie. Jak możesz to zrobić w javascript / node.js?
javascript
string
node.js
TIMEX
źródło
źródło
var s = 'hello ${my_name}, how are you doing';
Odpowiedzi:
Jeśli chcesz mieć coś podobnego, możesz stworzyć funkcję:
Stosowanie:
To jest tylko prosty przykład i nie uwzględnia różnych typów danych (takich jak
%i
itp.) Ani unikania%s
. Ale mam nadzieję, że da ci to jakiś pomysł. Jestem prawie pewien, że istnieją również biblioteki, które zapewniają taką funkcję.źródło
W przypadku Node.js
v4
możesz używać ciągów szablonów ES6Musisz zawijać ciąg w backtick
`
zamiast'
źródło
hello ${my_name}, how are you doing
i chcę przypisać zmienną dynamicznie po odczytaniu ciągu z config?jeśli używasz ES6, powinieneś użyć literałów szablonu.
czytaj więcej tutaj: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
źródło
Stan na dzień
node.js
>4.0
temu staje się bardziej kompatybilny ze standardem ES6, gdzie manipulacja strunami znacznie się poprawiła.odpowiedź do pierwotnego pytania może być tak proste, jak:
Tam, gdzie ciąg może rozłożyć wiele linii, sprawia, że szablony lub procesy HTML / XML są dość łatwe. Więcej szczegółów i więcej informacji na ten temat: Literały szablonów są literałami tekstowymi na mozilla.org.
źródło
util.format to robi.
Będzie częścią v0.5.3 i można go używać w następujący sposób:
źródło
Zrób to:
Aktualizacja
Dzięki ES6 możesz również zrobić to:
źródło
Kilka sposobów na rozszerzenie
String.prototype
lub użycie literałów szablonu ES2015 .źródło
Spróbuj sprintf w JS lub możesz skorzystać z tego sedna
źródło
Jeśli używasz node.js, console.log () przyjmuje ciąg formatu jako pierwszy parametr:
źródło
console.log()
wyprowadza tylko sformatowany ciąg doSTDOUT
. Innymi słowy, nie możesz użyć wynikucount: %d
źródło
Napisałem funkcję, która precyzyjnie rozwiązuje problem.
Pierwszy argument to łańcuch, który chciał zostać sparametryzowany. Powinieneś umieścić swoje zmienne w tym ciągu w tym formacie "% s1,% s2, ...% s12" .
Inne argumenty to parametry odpowiednio dla tego ciągu.
Przykłady
Jeśli zmienna pozycja zmieni się w tym ciągu, ta funkcja również ją obsługuje bez zmiany parametrów funkcji.
źródło
źródło
Oto kilka linii String Dosłowne przykład w Node.js.
źródło