# ===========================说明2===========================
# 对于字符串的操作,通常会把字符串转化为列表,然后通过 lsearch,lindex来对列表进行查找和取值。
# 首先,通过”split buffer \n“ 将buffer分割成列表,回车前的字符串当成一个列表中的元素,每个元素又是一个子列表
# 其次,通过lsearch $list "keyword"找到需要的列表行,lsearch的返回值是一个数字,表示字符串所在的位置。
# 再次,通过lindex $list_line $i, 取出列表行中的某个字符。lindex的返回值是一个字符串,表示该i位置所对应的字符串。
# 最后,如果列表元素比较多,需要取列表中的一部分进行操作,那么需要用for循环,
# for {set i startLine} {$i < [llength $list]} {incr i}
# if {string first keywork [lindex $list $i]}
# set num [lindex $list $i]
# break
# 其中,string first 是精确匹配,和lsearch一样,返回的是字符串的位置,即数字。而string match是模糊匹配,返回的是布尔值。
# 所以,string first 中是不可以用模糊匹配的,*会被当成是字符串。
# 说明:lsearch -all -inline $list keywork,返回的不是数值,而是包含keywork的那一行字符串。
# ===========================说明2=============================