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

时间:2011-02-22 07:46:42

标签: string tcl

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

3 个答案:

答案 0 :(得分:9)

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

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

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

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

答案 1 :(得分:8)

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

格式为

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

(另请参阅Jackson's answer。)

使用字符串重复

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之前的字符。)

答案 2 :(得分:3)

您可以使用string repeat,即

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