2016-05-02 6 views

Antwort

4

Das Versuchen,

set replaced_string [regsub "U" $some_string "."] 
puts $replaced_string 

Eine weitere Option,

set pos [string first "U" $some_string] 
set replaced_string [string replace $some_string $pos $pos "."] 
puts $replaced_string 

hier Ihre "Name/is" Teil sollte nicht enthalten jede "U"

Weitere Informationen finden Sie hier tcl string replacement

1

Verwendung von regsub ist übertrieben für blanke Saiten werden kann. Wenn Sie einfach nur einen Satz von Teil durch einen anderen zu ersetzen, string map ist dein Freund:

set s "Name/is/ComplexSTRUCTUre" 

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

Dies ist jedoch alle uns mit Punkten ersetzen wird - wie Ihre Frage Titel vermuten lässt.

Wenn jedoch wollen Sie nur die ersten U ersetzt - als Text Ihre Frage impliziert, dann AxT_8041 zweite Option ist die am besten geeignet.

+0

Mit 'regsub' können wir auch alle' u' durch Punkte mit '-all' Option ersetzen ... –

+1

' string map' erlaubt dem Benutzer nicht nur das erste Auftreten zu ändern. es ändert jedes Vorkommen von "U" mit Punkt, was nicht OPs Notwendigkeit ist. Noch, wenn Sie alle Vorkommen ändern möchten, dann ist 'string map' eine nette und süße Option –

Verwandte Themen