helm - заменить специальные символы подчеркиванием - PullRequest
0 голосов
/ 26 апреля 2020

Новое в k8s & helm.

Попытка объявить поле в развертывании с использованием {{ .Release.Name }}, которое не должно содержать символы, отличные от букв (верхний + нижний), цифр и _.

Исключенные символы должны быть заменены на _, например: feature/my-feature-1130

должны быть заменены на: feature_my_feature_1130

Можете ли вы помочь мне создать такое поле?

Большое спасибо заранее!

Ответы [ 2 ]

0 голосов
/ 26 апреля 2020

Вы можете использовать regexReplaceAll следующим образом:

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

См. Демонстрацию regex .

\W+ соответствует 1 или больше вхождений любого несловесного символа char (символ, отличный от буквы, di git и _) и заменяет их на _.

Символу экранирования \ требуется еще одно экранирование для формирования regex escape , поскольку он используется для формирования escape-последовательностей строк.

Обратите внимание на порядок аргументов функции, сначала идет шаблон, затем строка ввода и затем шаблон замены.

0 голосов
/ 26 апреля 2020

Вы ищете этот

 String s = "feature/my-feature-1130";
          s = s.replaceAll("\\W","_");
          System.out.println(s);

вывод feature_my_feature_1130 извините, я не знаю, какой язык программирования вы используете, это регулярное выражение работает в java, но вы можете попробуй если у тебя работает

...