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

输出应该是“test”“deva”“tcl”“newfiles”

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

最佳答案

恢复到我原来的解决方案并添加一些位...

假设这是一个文件路径而不是碰巧需要拆分的随机字符串\

File split 几乎可以满足您的需求,它返回拆分为 list 的路径。您还想使用 lrange 来选择除音量以外的所有内容,例如(未经测试)

lrange [file split $path] 1 end-1

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

此外,如果您有机会获得目录路径而不是文件名,您可能希望首先使用文件 dirname。同样的警告重新测试
lrange [file split [file dirname $name]] 1 end

关于tcl - 如何拆分路径名。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7186059/

10-12 12:54
查看更多