sprintf Implementation für JavaScript

Für ein kleines Projekt an dem ich zur Zeit arbeite war ich mal wieder auf der Suche nach einer sprintf Implementation für JavaScript. Und wieder wurde ich bei der gleichen Implementation – wenn auch erheblich weiterentwickelt – fündig. Seit 2007 arbeitet Alexandru Marasteanu an seiner Implementation der sprintf Funktion für JavaScript. Mit der Hilfe dieses Funktion wird so sprintf-like aus einem:

sprintf("%2$s %3$s a %1$s", "cracker", "Polly", "wants")

ein:

Polly wants a cracker

Der Quelltext ist auf GitHub zu finden. Die Implementation ist freie Software und unter der 3-Klausel-BSD-Lizenz lizenziert.

sprintf für JavaScript

Eine der ersten Sachen welche ich in JavaScript vermisst habe, ist eine „sprintf“ bzw. eine „String.Format“ Methode. Aber JavaScript wäre nicht JavaScript wenn es dafür keine Lösung gäbe. Die Lösung hört in diesem Fall auf den Namen „javascript-sprintf“ und kann unter http://www.diveintojavascript.com/projects/javascript-sprintf bezogen werden. So sieht das ganze dann im Quelltext aus:

var tmp="123456";
sprintf('Ausgabe ist %s.', tmp);

In diesem Fall wird „Ausgabe ist 123456.“ ausgegeben. Neben dieser Möglichkeit gibt es noch einige andere Funktionen in der kleinen Bibliothek wie z.B. „vsprintf“ mit welcher auch Arrays ausgegeben werden können, welche in der Dokumentation auf der Seite erklärt werden.