1
set some_string "Name/is/ComplexSTRUCTUre"
轉換這個字符串,如何用tcl腳本替換字符串中的特定字符?
some_string = "Name/is/ComplexSTR.CTUre"
即更換第一"U"
到"."
set some_string "Name/is/ComplexSTRUCTUre"
轉換這個字符串,如何用tcl腳本替換字符串中的特定字符?
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"
更多信息可以在這裏使用的regsub
tcl string replacement
發現是矯枉過正普通字符串。如果您只是要更換一組與另一子的,string map
是你的朋友:
set s "Name/is/ComplexSTRUCTUre"
set s [string map {U .} $s]
然而,這將取代點所有我們 - 你的問題的標題建議。
但是,如果你只想要第一ü更換 - 爲文本你的問題意味着,然後AxT_8041的第二個選項是最合適的。
使用'regsub',我們也可以用'-all'選項替換所有'u'點... –
'string map'不允許用戶只改變第一次出現。它會改變每個出現的'U'點,這不是OP的需要。如果你想改變所有發生的事情,'string map'是不錯的選擇 –