tcl を使用して、ファイル (.txt) 内のアルファベット (たとえば 'a') に中かっこ{
を置き換える方法は ?}
たとえば、ファイルの内容は次のとおりです。
//-----------------------
main()
{
if (1)
{
printf("ok");
}
else
{
printf("not ok");
}
}
//------------------------------
単純な置換で文字列を変換するに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 ですでに多くの回答があります。