首页 > 解决方案 > helm - 用下划线替换特殊字符

问题描述

k8s & helm 新手。

尝试使用 , 声明部署中的字段,该字段{{ .Release.Name }}不得包含除字母(大写 + 小写)、数字和 _ 以外的字符。

排除的字符应替换为 _,例如: feature/my-feature-1130

应替换为:feature_my_feature_1130

有人可以帮我创建这样一个领域吗?

提前谢谢了!

标签: regexkubernetes-helmsprig-template-functions

解决方案


你可以regexReplaceAll这样使用:

{{ regexReplaceAll "\\W+" .Release.Name "_" }}

请参阅正则表达式演示

\W+匹配 1 次或多次出现的任何非单词 char(除字母、数字和 之外的字符_)并将它们替换为_.

\转义符号需要另一个转义来形成正则表达式转义,因为它用于形成字符串转义序列。

注意函数参数的顺序,首先是模式,然后是输入字符串,然后是替换模式。


推荐阅读