Руководство должно быть достаточно ясным, но на всякий случай ...
set s "{{1234||}{2345||}}"
set result [string map {"{" "" "||}" ","} $s]
puts $result
# 1234,2345,}
string map
принимает список, содержащий пару строк.В каждой паре в этом списке слева направо первая будет заменена второй.
Поэтому в приведенном выше примере первая {
будет заменена пустой, и когда это будет сделано,||}
будет заменено на ,
.Я использую кавычки, потому что для цитирования в Tcl используются скобки, и это может не всегда работать так, как вы хотите, если вы не слишком привыкли к тому, как работает механизм цитирования в Tcl.
Хотя яя не слишком уверен, если вышеупомянутый результат, который вы ищете?Вы можете использовать string trimright
, если хотите удалить дополнительный ,}
, который удалит все завершающие символы, которые являются ,
и }
:
string trimright $result ",}"
# 1234,2345
Также sidenote, вы экранируете символы в Tcl, используяобратная косая черта (\
).