这是我正在运行的脚本
set input_file [ open $ORIGINAL_TESTS_FILE r ];
set output_file [ open $TESTS_FILE w ];
set CLASS_NAME "RandTest";
set NEW_CLASS_NAME "JuanDeLosPalotes";
while { [gets $input_file line] >= 0 } {
#echo $line
# Replacing string
set line [ string map { "RandTest" "JuanDeLosPalotes" } $line ];
#echo $line
puts $output_file $line
}
close $input_file
close $output_file
这将读取一个文本文件,并在找到它的任何地方用JuanDeLosPalotes替换RandTest。
但是,如果我替换此行
set line [ string map { "RandTest" "JuanDeLosPalotes" } $line ];
此行
set line [ string map { $CLASS_NAME $NEW_CLASS_NAME } $line ];
它不起作用(行保持不变)。
我在做什么错了?
答案 0 :(得分:0)
解决了!!
大括号可防止替换。所以我需要使用引号。
set line [ string map "$CLASS_NAME $NEW_CLASS_NAME" $line ];
我认为有人需要它。