Stringformat占位符,分隔字符串

Stringformat PlaceHolder with Split for delimited string

本文关键字:字符串 分隔 占位符 Stringformat      更新时间:2023-09-26

Using js function inJavaScript等价于printf/string.format

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
            ;
        });
    };
}

尝试将带分隔符的字段作为参数传递给此函数实参。使用split创建数组并将其作为参数传递,但似乎不起作用

    var str =" this is a {0} test in {1}";
 var args = "StringFormat|Javascript";
 var return = str.format(args.split("|"));

actual:这是一个StringFormat|Javascript测试在{1}

预期:这是Javascript中的StringFormat测试

这是因为.format()不寻找字符串数组,只是一个字符串。所以这就是你应该如何调用.format()根据Paolo的建议动态数组:

var str =" this is a {0} test in {1}";
var args = "StringFormat|Javascript".split("|");
var return = str.format.apply(str, args);