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

如何在TCL中分割字符串?实现日期字符串拆分获取月份和年份

TCL字符串拆分赋值操作方案

你可以通过以下两种常用方式实现需求:

方案1:分隔符拆分法(适合固定分隔符的规则字符串)

TCL内置split命令可按指定字符拆分字符串为列表,搭配lassign可快速将列表元素赋值给多个变量:

# 定义原始日期变量
set date_string "OCT-09-1956"
# 按-拆分后直接赋值,中间的日字段用day占位,不需要时也可替换为_表示忽略
lassign [split $date_string "-"] month day year

执行后$month取值为OCT,$year取值为1956。
如果不想用lassign,也可以手动通过列表索引取值:

set date_parts [split $date_string "-"]
set month [lindex $date_parts 0]
set year [lindex $date_parts 2]

方案2:正则提取法(适合只需要提取目标字段的场景)

如果不需要处理中间的日字段,可以直接用正则表达式匹配提取目标值,无需拆分全量字段:

set date_string "OCT-09-1956"
# 正则中两个分组分别捕获月份和年份,->为占位符承接完整匹配结果
regexp {^(\w+)-\d+-(\d+)$} $date_string -> month year

结果验证

执行以下代码可打印验证赋值结果:

puts $month
puts $year
# 输出:
# OCT
# 1956

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:39:03