リストのメンバーを読み取ろうとしているときに問題が発生しました。次のような\\server\directory
問題が発生しました。コマンドを使用してこの変数を取得しようとすると問題が発生しlindex
、TCL 置換が行われるため、結果は次のようになります。
\serverdirectory
次に、バックスラッシュ置換を回避するコマンドを使用する必要があると思いますregsub
が、正しい手順が得られませんでした。
私が欲しいものの例は次のとおりです。
set mistring "\\server\directory"
regsub [appropriate regular expresion here]
puts "mistring: '$mistring'" ==> "mistring: '\\server\directory'"
私はこれに関するいくつかの投稿を確認しましたが、問題はありませんが、ここに来る可能性のある他の文字が\\
常に単一の後に続くようにしようとすると、まだ問題があります.\
更新: 具体例。私が実際に維持しようとしているのは、リスト内の要素の初期形式です。リストは、外部アプリケーションによって受信されます。元のコードは次のようなものです。
set mytable $__outer_list_received
puts "Table: '$mytable'"
for { set i 0 } { $i < [llength $mitabla] } { incr i } {
set row [lindex $mytable $i]
puts "Row: '$row'"
set elements [lindex $row 0]
puts "Elements: '$elements'"
}
この場合の出力は次のとおりです。
Table: '{{
address \\server\directory
filename foo.bar
}}'
Row: '{
address \\server\directory
filename foo.bar
}'
Elements: '
address \\server\directory
filename foo.bar
'
そこで\\server\directory
、元の形式とデータを維持したまま、構成ファイルに書き込むためにアドレス (この特定のケースでは ) の値を取得しようとしました。これで問題が解決することを願っています。