如何用 tcl 脚本替换字符串中的特定字符?
How to replace particular character in string with tcl script?
set some_string "Name/is/ComplexSTRUCTUre"
将此字符串转换为,
some_string = "Name/is/ComplexSTR.CTUre"
即先将 "U"
替换为 "."
试试这个,
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
regsub
的使用对于普通字符串来说是多余的。如果您只是想用另一组替换一组子字符串,string map
是您的朋友:
set s "Name/is/ComplexSTRUCTUre"
set s [string map {U .} $s]
然而,这将用点替换 all Us -- 正如你的问题的 title 所暗示的那样。
但是,如果您只想 第一个 U 替换 - 正如您问题的 text 所暗示的,那么 AxT_8041的第二个选项最合适。
您可以使用:
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>
set some_string "Name/is/ComplexSTRUCTUre"
将此字符串转换为,
some_string = "Name/is/ComplexSTR.CTUre"
即先将 "U"
替换为 "."
试试这个,
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
regsub
的使用对于普通字符串来说是多余的。如果您只是想用另一组替换一组子字符串,string map
是您的朋友:
set s "Name/is/ComplexSTRUCTUre"
set s [string map {U .} $s]
然而,这将用点替换 all Us -- 正如你的问题的 title 所暗示的那样。
但是,如果您只想 第一个 U 替换 - 正如您问题的 text 所暗示的,那么 AxT_8041的第二个选项最合适。
您可以使用:
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>