La fonction C# string.format est utilisée à de nombreux endroits, j'ai donc implémenté une version simple en utilisant js :
Copiez le code comme suit :
String.format = fonction ()
{
var formatStr = arguments[0];
if (typeof formatStr === 'string' )
{
modèle variable,
longueur = arguments.longueur ;
pour ( var i = 1; i < longueur; i++ )
{
motif = new RegExp( '//{' + ( i - 1 ) + '//}', 'g' );
formatStr = formatStr.replace( modèle, arguments[i] );
}
} autre
{
formatStr = '';
}
return formatStr;
} ;
Le code ci-dessus ajoute un format de méthode statique à la classe javascript String, et son utilisation est exactement la même que celle de string.format de c#. Le test est le suivant :
Copiez le code comme suit :
String.format('http://wcf.open.a.com/blog/sitehome/paged/{0}/{1}',1,20)
Résultat : "http://wcf.open.a.com/blog/sitehome/paged/1/20"
Copiez le code comme suit :
String.format('{0}+{0}+{1}={2}',1,2,1+1+2)
Sortie : "1+1+2=4"
Copiez le code comme suit :
String.format({name:'leonwang'},'hello,world')
Sortir: ""
Si le premier paramètre n'est pas de type chaîne, une chaîne vide est simplement renvoyée sans autre traitement.