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

时间:2016-05-30 07:56:12

标签: tcl

我试图从文件名中取出某些值来使用。 例如,我有7.32.56R_Znada.iso

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

2 个答案:

答案 0 :(得分:7)

一种方法是使用split _作为分隔符,lindex选择你想要的作品。

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

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

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

答案 1 :(得分:2)

如果

  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]]