如何用 Tcl 中的另一个数字替换字符串的数字部分?
How do I replace a numeric part of a string by another number in Tcl?
我有一个格式类似于 1005-abcd
的字符串,我想用另一个数字替换该字符串的数字部分,使其类似于 1008-abcd
。
我可以通过使用以下 -
string map {1005 1008} "1005-abcd"
但我有变量形式的这些数字。例如,$source
是 1005
,$new
是 1008
。当我像这样使用相同的命令时 -
string map {$source $new} "1005-abcd"
大括号防止替换变量。使用另一种方式给出列表并启用替换。一个选项:
string map "$source $new" "1005-abcd"
另一个(更好的)选项:
string map [list $source $new] "1005-abcd"
我有一个格式类似于 1005-abcd
的字符串,我想用另一个数字替换该字符串的数字部分,使其类似于 1008-abcd
。
我可以通过使用以下 -
string map {1005 1008} "1005-abcd"
但我有变量形式的这些数字。例如,$source
是 1005
,$new
是 1008
。当我像这样使用相同的命令时 -
string map {$source $new} "1005-abcd"
大括号防止替换变量。使用另一种方式给出列表并启用替换。一个选项:
string map "$source $new" "1005-abcd"
另一个(更好的)选项:
string map [list $source $new] "1005-abcd"