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

Go Template按倒数第二个分隔符拆分字符串的实现问题

解决Helm模板中按倒数第二个分隔符拆分字符串的问题

针对你需求的固定格式字符串(含4个"-"),正确的Helm模板写法应该先把拆分结果存为变量,再截取前三个元素拼接:

{{- $splitResult := splitList "-" .Values.global.stackName -}}
{{- printf "%q" (join "-" (slice $splitResult 0 3)) -}}

为啥之前的写法失效?

你之前直接用list ._0 ._1 ._2是错误的——splitList返回的是数组,Helm模板里没法用._0这种方式直接访问数组元素,必须先把拆分结果存到变量里,再用索引或者slice函数取值。

代码细节说明

  • splitList "-" 将目标字符串按"-"拆分成数组,存入变量$splitResult
  • slice $splitResult 0 3 截取数组的前3个元素(对应原字符串中倒数第二个"-"之前的部分)
  • join "-" 把截取到的元素重新用"-"拼接成字符串
  • printf "%q" 给最终结果加上引号,和你最初的需求一致

内容的提问来源于stack exchange,提问作者Arnau Amargant Domene

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 13:50:43