实现一个只支持 %s 的sprintf
JS 实现一个简单的 sprintf
function sprintf(format, ...args) {
var index = 0; // 参数索引
// 使用正则表达式匹配 %s,并逐一替换为对应的参数
return format.replace(/%s/g, () => {
// console.log("index >= args.length", index >= args.length);
if (index >= args.length) {
throw new Error("Not enough arguments provided for sprintf");
}
return String(args[index++]); // 将参数转换为字符串并替换
});
}
// 示例用法
console.log(sprintf("Hello aric")); // 输出: Hello aric
console.log(sprintf("Hello, %s!", "World")); // 输出: Hello, World!
console.log(sprintf("Name: %s, Age: %s", "Alice", 30)); // 输出: Name: Alice, Age: 30
console.log(sprintf("A %s B %s C %s", "X", "Y", "Z")); // 输出: A X B Y C Z