set some_string "Name/is/ComplexSTRUCTUre"
convert diese Zeichenfolge,Wie bestimmte Zeichen in Zeichenfolge durch Tcl-Skript ersetzen?
some_string = "Name/is/ComplexSTR.CTUre"
d.h ersetzt ersten "U"
-"."
set some_string "Name/is/ComplexSTRUCTUre"
convert diese Zeichenfolge,Wie bestimmte Zeichen in Zeichenfolge durch Tcl-Skript ersetzen?
some_string = "Name/is/ComplexSTR.CTUre"
d.h ersetzt ersten "U"
-"."
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
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.
Mit 'regsub' können wir auch alle' u' durch Punkte mit '-all' Option ersetzen ... –
' 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 –