تُستخدم الدالة string.format في C# في العديد من الأماكن، لذا قمت بتنفيذ إصدار بسيط باستخدام js:
انسخ رمز الكود كما يلي:
تنسيق السلسلة = الوظيفة ()
{
var formatStr = الوسيطات[0];
إذا (typeof formatStr === 'string' )
{
نمط فار,
الطول = الحجج. الطول؛
لـ ( فار i = 1; أنا < الطول; i++ )
{
Pattern = new RegExp( '//{' + ( i - 1 ) + '//', 'g' );
formatStr = formatStr.replace(pattern,arguments[i] );
}
} آخر
{
formatStr = '';
}
إرجاع تنسيق Str؛
};
يضيف الكود أعلاه تنسيق طريقة ثابتًا إلى فئة سلسلة جافا سكريبت، واستخدامه هو تمامًا نفس تنسيق string.format الخاص بـ c#، ويكون الاختبار كما يلي:
انسخ رمز الكود كما يلي:
String.format('http://wcf.open.a.com/blog/sitehome/paged/{0}/{1}',1,20)
الإخراج: "http://wcf.open.a.com/blog/sitehome/paged/1/20"
انسخ رمز الكود كما يلي:
String.format('{0}+{0}+{1}={2}',1,2,1+1+2)
الناتج: "1+1+2=4"
انسخ رمز الكود كما يلي:
String.format({name:'leonwang'},'hello,world')
الإخراج: ""
إذا لم تكن المعلمة الأولى من نوع السلسلة، فسيتم إرجاع سلسلة فارغة ببساطة دون مزيد من المعالجة.