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

String Tcl在字符串末尾添加符号N次,string,tcl,String,Tcl,如何在字符串末尾添加N个空格,例如N=(25-string_长度)?是否有直接执行此过程的命令,或者我应该使用循环?您可以使用字符串重复,即 % string repeat : 25 ::::::::::::::::::::::::: 解决此问题的另一种方法是使用format命令,如果您知道需要一个长度为25的字符串,并用空格填充,则: % format "|%-25s|" hello |hello | 我们应该这样做。(这个|只是用来界定结果)。也可以

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

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

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

解决此问题的另一种方法是使用format命令,如果您知道需要一个长度为25的字符串,并用空格填充,则:

% format "|%-25s|" hello
|hello                    |
我们应该这样做。(这个|只是用来界定结果)。也可以使用变量设置输出的总宽度:

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

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

格式 (有关此信息,请参见。)

带字符串重复 在循环中使用append (请注意,这仅适用于
\u00FF
以下的字符)

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]