我在尝试读取列表的成员时\\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
),以便将其写入配置文件,保持原始格式和数据。我希望这能澄清问题。