-
-
Save geminorum/ebb48ff0c0df3876e58610dbb5a60f0f to your computer and use it in GitHub Desktop.
Javascript sprintf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// @SOURCE: https://stackoverflow.com/a/4673436/4864081 | |
// First, checks if it isn't implemented yet. | |
if (!String.prototype.format) { | |
String.prototype.format = function() { | |
var args = arguments; | |
return this.replace(/{(\d+)}/g, function(match, number) { | |
return typeof args[number] != 'undefined' | |
? args[number] | |
: match | |
; | |
}); | |
}; | |
} | |
// "{0} is dead, but {1} is alive! {0} {2}".format("ASP", "ASP.NET") | |
// ASP is dead, but ASP.NET is alive! ASP {2} | |
// If you prefer not to modify String's prototype: | |
if (!String.format) { | |
String.format = function(format) { | |
var args = Array.prototype.slice.call(arguments, 1); | |
return format.replace(/{(\d+)}/g, function(match, number) { | |
return typeof args[number] != 'undefined' | |
? args[number] | |
: match | |
; | |
}); | |
}; | |
} | |
// String.format('{0} is dead, but {1} is alive! {0} {2}', 'ASP', 'ASP.NET'); | |
// ASP is dead, but ASP.NET is alive! ASP {2} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Simple and minimal `sprintf` function in JavaScript. | |
function sprintf(format) { | |
var args = Array.prototype.slice.call(arguments, 1); | |
var i = 0; | |
return format.replace(/%s/g, function() { | |
return args[i++]; | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
also sprintf-js