You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TCL如何删除文件路径的固定前缀和后缀以提取目标片段

TCL 路径提取目标片段实现方案

你当前的路径格式固定为AA/BB/CC/N*/DD/EE,可以通过以下三种常见方式提取N开头的目标片段:

方法1:正则匹配(灵活度最高)

直接通过正则捕获中间非斜杠的目标片段,适配前缀后缀内容有少量变化的场景:

# 示例路径
set path "AA/BB/CC/N2/DD/EE"
# 正则捕获目标片段,([^/]+)匹配N开头的非斜杠段落
regexp {AA/BB/CC/([^/]+)/DD/EE} $path -> target
# 输出结果为N2
puts $target

方法2:字符串裁剪(适合前后缀完全固定的场景)

如果前后缀内容、长度永远固定,直接通过字符串范围截取:

# 前缀AA/BB/CC/共9个字符,后缀/DD/EE共6个字符,截取中间部分
set target [string range $path 9 end-6]

方法3:路径拆分(最稳妥,适配层级固定场景)

用TCL内置的file split命令把路径拆分为层级列表,直接取对应索引的元素即可,只要路径层级不变,即使前后缀内容修改也不影响结果:

# 拆分后路径为列表 {AA BB CC N1 DD EE},目标片段位于索引3的位置
set target [lindex [file split $path] 3]

说明:你之前使用的file tail命令作用是提取路径的最后一级片段,这里最后一级是EE,所以无法拿到中间的N开头片段。

内容的提问来源于stack exchange,提问作者tongtong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:24:03