拆分字符串并从 TCL 中取出所需的值

Split string and take required value out TCL

我正在尝试从文件名中提取特定值以供使用。 例如我有 7.32.56R_Znada.iso

我只对 Znada.iso 感兴趣,这意味着在 _(下划线)之后 谢谢和问候,

一种方法是使用 split_ 作为分隔符,然后 lindex 来选择你想要的部分。

set inputData "7.32.56R_Znada.iso"
set wantedValue [lindex [split $inputData "_"] end]

或者您可以使用正则表达式匹配。

regexp {.*_(.+)} $inputData -> wantedValue

如果

  set inputData "7.32.56R_Znada.iso"

然后尝试:

  set wantedValue [string range $inputData [expr [string last "_" $inputData]+1] end]

或不使用文件扩展名:

set wantedValue [string range $inputData [expr [string last "_" $inputData]+1] [expr [string last "." $inputData]-1]]