helm - 用下划线替换特殊字符

helm - replace special chars with underscore

k8s 和 helm 的新手。

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

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

应替换为:feature_my_feature_1130

有人可以帮我创建这样一个字段吗?

非常感谢!

您可以这样使用 regexReplaceAll

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

参见regex demo

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

\ 转义符号需要另一个转义以形成 regex 转义,因为它用于形成字符串转义序列。

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