TCL:检测字符串映射替换

时间:2013-11-04 10:03:36

标签: string replace tcl

我对在TCL中使用string map有疑问。 有没有办法检测此函数何时更改了映射字符串的先前值? 例如,在这种情况下:

set location "default_user: admin"
set new_user "user"
set new_location [string map [list "admin" $new_user] $location]

在这种情况下,我想知道new_location是否具有与location不同的值(不比较两个变量,也许有更优雅的方式)。 我的真实案例比这个更复杂,我有一个带有html文件内容的变量,我想用另一个特定值替换另一个或者如果没有替换则从另一个变量读取。

感谢您的帮助,我希望上面的示例中一切都很清楚。

1 个答案:

答案 0 :(得分:2)

string map函数并不意味着返回的替换次数。为了获得替换次数,可以使用返回值的regsub -all函数。您还可以在string first之前使用string map值来了解是否存在所需值的可变行。