set some_string "Name/is/ComplexSTRUCTUre"
将此字符串转换为
some_string = "Name/is/ComplexSTR.CTUre"
即将第一个"U"
替换为"."
答案 0 :(得分:7)
试试这个,
set replaced_string [regsub "U" $some_string "."]
puts $replaced_string
另一种选择,
set pos [string first "U" $some_string]
set replaced_string [string replace $some_string $pos $pos "."]
puts $replaced_string
此处"Name/is"
部分不应包含任何"U"
可在此处找到更多信息tcl string replacement
答案 1 :(得分:1)
使用regsub
对于普通字符串来说是过度的。如果您只想将一组子字符串替换为另一组子字符串,string map
是您的朋友:
set s "Name/is/ComplexSTRUCTUre"
set s [string map {U .} $s]
然而,这将用点代替所有我们 - 正如您的问题的标题所示。
但是,如果您只想替换第一个 U - 正如您的问题的 text 所暗示的那样,那么AxT_8041的第二个选项是最合适的。
答案 2 :(得分:0)
您可以使用:
string replace <num1> <num2> <To_be_replaced>
示例:
set a [get_attr [get_cells -filter <cell_name> ] ref_name]
<cell_name>
string replace 5 8 NAME
<cell_NAME>