Tcl 在字符串末尾添加符号 N 次

发布于 2024-10-18 15:53:28 字数 83 浏览 3 评论 0原文

例如,当 N = (25 - string_length) 时,如何在字符串末尾添加 N 个空格?是否有一个命令可以直接执行此过程,或者我应该使用循环?

How I can add N white-spaces at the end of the string, when for example N = (25 - string_length)? Is there a command that does this procedure directly or I should use a loop?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

盛装女皇 2024-10-25 15:53:28

解决这个问题的另一种方法是使用 format 命令,如果你知道你想要一个长度为 25 且用空格填充的字符串,那么:

% format "|%-25s|" hello
|hello                    |

应该这样做。 (| 只是用来分隔结果)。还可以使用变量来设置输出的总宽度:

% set width 25
25
% format "|%-*s|" $width hello
|hello                    |

Another way to tackle this is with the format command, if you know that you want a string of length 25 that is right padded with spaces then:

% format "|%-25s|" hello
|hello                    |

should do this. (The | is just there to delimit the result). It's also possible to use a variable to set the total width of the output:

% set width 25
25
% format "|%-*s|" $width hello
|hello                    |
此刻的回忆 2024-10-25 15:53:28

有几种方法可以做到这一点:

使用格式

set padded [format "%-25s" $str]

(另请参阅 杰克逊对此的回答。)

使用字符串重复

set padded $str[string repeat " " [expr {25 - [string length $str]}]]

使用循环附加

for {set padded $str} {[string length $padded] < 25} {} {
    append padded " "
}

使用二进制格式

set padded [binary format "A25" $str]

(请注意,这仅对于 \u00FF 以内的字符是安全的.)

There are several ways to do this:

With format

set padded [format "%-25s" $str]

(Also see Jackson's answer for this.)

With string repeat

set padded $str[string repeat " " [expr {25 - [string length $str]}]]

With append in a loop

for {set padded $str} {[string length $padded] < 25} {} {
    append padded " "
}

With binary format

set padded [binary format "A25" $str]

(Note that this is only safe for characters up to \u00FF.)

神妖 2024-10-25 15:53:28

您可以使用字符串重复,即

% string repeat : 25
:::::::::::::::::::::::::

You can use string repeat, i.e.

% string repeat : 25
:::::::::::::::::::::::::
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文