2016-05-02 25 views

回答

4

試試這個,

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"

更多信息可以在這裏使用的regsubtcl string replacement

1

發現是矯枉過正普通字符串。如果您只是要更換一組與另一子的,string map是你的朋友:

set s "Name/is/ComplexSTRUCTUre" 

set s [string map {U .} $s] 

然而,這將取代點所有我們 - 你的問題的標題建議。

但是,如果你只想要第一ü更換 - 爲文本你的問題意味着,然後AxT_8041的第二個選項是最合適的。

+0

使用'regsub',我們也可以用'-all'選項替換所有'u'點... –

+1

'string map'不允許用戶只改變第一次出現。它會改變每個出現的'U'點,這不是OP的需要。如果你想改變所有發生的事情,'string map'是不錯的選擇 –

相關問題