2011-08-03 50 views
2

Heyhoo,Tcl字符串轉義

現在我需要比較像「[INTENSITY]」字符串到$行。 ATM我想要這樣做,就像

if { [string compare "[INTENSITY]" $line] == 0 } { } 

但我認爲有一個問題與「[」和「]」。但我怎麼能逃脫它? 我在網上找不到一本好書或一個非常好的網站。

下一個問題是我創建像

set data [split $file_data "\n"] 

陣列爲什麼我coulnd說array stat $data ???

希望你能幫助我一次。

回答

8

對於第一個項目,則使用{}作爲字符串的分隔符,以防止命令替換(這是用[]在一個雙引號字符串發生)

if { [string compare {[INTENSITY]} $line] == 0 } { } 

在第二項,split創建一個列表,不是一個數組。索引它lindex

set data [split $file_data "\n"] 
puts [lindex $data 1] 

爲TCL信息的最佳網站是Tcler的維基在http://wiki.tcl.tk/

+1

+1:或者,把反斜線在方括號的前面。 –