Javascript:用于排列管道分隔文本(或任何字符分隔文本)的快速脚本

Javascript:用于排列管道分隔文本(或任何字符分隔文本)的快速脚本,javascript,string,delimited-text,Javascript,String,Delimited Text,背景:我以前写过这篇文章,但我不喜欢这种方法。原因是Javascript没有“sprintf”,如果语言支持的话,我会大量使用它 问题:您将如何使用javascript从之前转到之后?如果有人有一个只包含很少代码行的解决方案,或者来自javascript字符串库的解决方案,那么这将是一个有用的信息。蒂亚 之前: red| lightblue| green cherry| ice| mint round| cubic| flowery 之后: red | lightblue | gre

背景:我以前写过这篇文章,但我不喜欢这种方法。原因是Javascript没有“sprintf”,如果语言支持的话,我会大量使用它

问题:您将如何使用javascript从之前转到之后?如果有人有一个只包含很少代码行的解决方案,或者来自javascript字符串库的解决方案,那么这将是一个有用的信息。蒂亚

之前:

red| lightblue| green 
cherry| ice| mint 
round| cubic| flowery
之后:

red    | lightblue | green 
cherry | ice       | mint 
round  | cubic     | flowery
免责声明:这不是家庭作业或任何类似的事情,只是寻找新的想法。此外,这不是基于浏览器的javascript。这不是一个web开发问题,而是一个javascript编程问题

function pad(str, len) {
    for (var count = len - str.length; count > 0; count--) {
        str = str + " ";
    }
    return str;
}

console.log(pad("red", 7) + "| " + pad("lightblue", 9) + "| " + pad("green", 7));
//etc.
是的,一个接一个地连接字符是低效的,但通常只有少量的迭代


是的,一个接一个地连接字符效率很低,但通常只需要少量的迭代。

如果你喜欢
sprintf
,为什么不为它找一个呢?

如果你喜欢
sprintf
,为什么不为它找一个呢?

你为什么希望javascript这样做?HTML用于显示标记。例如,它可以在Windows脚本主机上下文中使用。您为什么希望javascript这样做?HTML用于显示标记。例如,它可以在Windows脚本主机上下文中使用。是的,这正是我试图避免的。只是想知道是否有一种我没有想到的替代方法。。。regex技巧之类的…嗯,我想还有其他有趣的方法。比如,如果您知道最大长度,您可以执行类似于
返回str+“”.substr(str.length)
(总是将其填充到9)的操作,但除此之外。。。我什么都没有。:)啊,愚蠢的HTML。假设上面的
中有九个空格。是的,这正是我想要避免的。只是想知道是否有一种我没有想到的替代方法。。。regex技巧之类的…嗯,我想还有其他有趣的方法。比如,如果您知道最大长度,您可以执行类似于
返回str+“”.substr(str.length)
(总是将其填充到9)的操作,但除此之外。。。我什么都没有。:)啊,愚蠢的HTML。假设上面的
中有九个空格。小心,第一个hit there实现不支持填充值。小心,第一个hit there实现不支持填充值。