【发布时间】:2011-08-25 18:23:34
【问题描述】:
输入是 C:\test\deva\tcl\newfiles\aug.txt
输出应该是 "test" "deva" "tcl" "newfiles"
不应打印字符串末尾的“aug.txt”文件或任何其他“.txt”文件。
【问题讨论】:
-
将问题标题更改为“路径名拆分”或“提取路径名的组成部分”。
标签: tcl
输入是 C:\test\deva\tcl\newfiles\aug.txt
输出应该是 "test" "deva" "tcl" "newfiles"
不应打印字符串末尾的“aug.txt”文件或任何其他“.txt”文件。
【问题讨论】:
标签: tcl
恢复到我原来的解决方案并添加一些位...
假设这是一个文件路径,而不是碰巧需要拆分的随机字符串 \
File split 几乎可以满足您的需求,它返回拆分为 list 的路径。您还想使用 lrange 来选择除音量之外的所有内容,例如(未经测试)
lrange [file split $path] 1 end-1
所以你没有 c:\ 这应该是文件拆分返回的列表中的第一个元素
此外,如果您有可能获得目录路径而不是文件名,您可能希望首先使用文件目录名,例如同样的警告重新测试
lrange [file split [file dirname $name]] 1 end
【讨论】:
【讨论】:
[file split] 可以满足您的需要(正如 jk 在他们的回答中最后提到的那样),所以我只是删除了我的帖子。