6
set some_string "Name/is/ComplexSTRUCTUre" 

この文字列を次のように変換します。

some_string = "Name/is/ComplexSTR.CTUre" 

つまり、最初"U""."

4

3 に答える 3

11

これを試して、

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 文字列の置換を参照してください。

于 2016-05-02T13:49:30.590 に答える
5

regsubプレーンな文字列に対して を使用するのはやり過ぎです。部分文字列のセットを別のセットに単に置き換えたい場合string mapは、次のようになります。

set s "Name/is/ComplexSTRUCTUre"

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

ただし、これにより、質問のタイトルが示すように、すべてのUs がドットに置き換えられます。

ただし、質問のテキストが示すように、最初のUのみを置き換えたい場合は、AxT_8041 の 2 番目のオプションが最適です。

于 2016-05-06T16:17:27.537 に答える