Javascript:用于排列管道分隔文本(或任何字符分隔文本)的快速脚本
背景:我以前写过这篇文章,但我不喜欢这种方法。原因是Javascript没有“sprintf”,如果语言支持的话,我会大量使用它 问题:您将如何使用javascript从之前转到之后?如果有人有一个只包含很少代码行的解决方案,或者来自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
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实现不支持填充值。