如何拆分路径名.

dev*_*eva 3 tcl

输入是C:\ test\deva\tcl \newfiles\aug.txt

输出应该是"test""deva""tcl""newfiles"

不应打印字符串末尾的"aug.txt"文件或任何其他".txt"文件.

jk.*_*jk. 5

恢复原来的解决方案并添加一些内容......

假设这是一个文件路径而不是随机字符串,恰好需要拆分\

文件拆分几乎可以实现您想要的功能,它会将路径拆分为列表.你还想使用lrange来选择除音量之外的所有内容,例如(未经测试)

lrange [file split $path] 1 end-1
Run Code Online (Sandbox Code Playgroud)

所以你没有c:\,它应该是文件拆分返回的列表中的第一个元素

另外,如果你有可能获得目录路径而不是文件名,你可能想先使用文件目录名,例如同样的警告重新测试

lrange [file split [file dirname $name]] 1 end
Run Code Online (Sandbox Code Playgroud)