如何使用tcl在文件(.txt)中使用字母(例如' a')替换{
和}
大括号?
例如,文件中的内容如下:
//-----------------------
main()
{
if (1)
{
printf("ok");
}
else
{
printf("not ok");
}
}
//------------------------------
答案 0 :(得分:1)
set fp [open work.txt]
set content [read $fp]
regsub -all \{ $content "" content
regsub -all \} $content "" content
puts $content
答案 1 :(得分:0)
要使用简单替换转换字符串,string map
是正确的工具。你需要仔细编写地图,因为你使用的是不平衡的支撑。
set transformed [string map { \{ "abc" \} "def" } $original]
示范:
% set original "QBC{DEF}SHP"
QBC{DEF}SHP
% set transformed [string map { \{ "abc" \} "def" } $original]
QBCabcDEFdefSHP
要转换文件,请将文件读入字符串,对该字符串执行转换,然后再将其写出。 Stack Overflow上有许多关于如何读写文件的答案。