使用tcl从字符串中删除方括号

使用tcl从字符串中删除方括号,tcl,Tcl,我不熟悉使用Tcl,我正在尝试使用Tcl删除字符串中的方括号 set f "abc [def]" set bracket1 {[} set bracket2 {]} regsub -all "($bracket1) ($bracket2)" $f "" g puts $g 要从字符串中删除方括号,使用字符串映射更容易(更快): set g [string map {{[} "" {]} ""} $f] 您可以使用regsub,但由于[和]是重元字符和重字符集元字符,因此可能会

我不熟悉使用Tcl,我正在尝试使用Tcl删除字符串中的方括号

set f "abc [def]"
set bracket1 {[}
set bracket2 {]}
    regsub -all "($bracket1) ($bracket2)" $f "" g
    puts $g

要从字符串中删除方括号,使用
字符串映射更容易(更快):

set g [string map {{[} "" {]} ""} $f]
您可以使用
regsub
,但由于
[
]
是重元字符和重字符集元字符,因此可能会非常尴尬:

regsub -all {[][]} $f "" g
# or
set g [regsub -all {[][]} $f ""]

问题是什么?请把问题说得更清楚些;您的代码片段是否试图删除括号?它做什么,应该做什么?把要删除的字符放在变量中只会让事情变得更难。