From 97bdc8bc7cac7c13e63698da5e06ea8cfcf10600 Mon Sep 17 00:00:00 2001 From: chris evett Date: Mon, 24 Sep 2018 22:41:34 +0000 Subject: [PATCH] Adding custom helper for regex --- template/helpers.go | 6 ++++++ template/helpers_test.go | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/template/helpers.go b/template/helpers.go index 2c810fb..49e91ec 100644 --- a/template/helpers.go +++ b/template/helpers.go @@ -17,6 +17,7 @@ package template import ( "fmt" "net/url" + "regexp" "strings" "time" "unicode" @@ -117,3 +118,8 @@ func uppercaseFirst(s string) string { return s } + +func regexReplace(pattern string, input string, replacement string) string { + re := regexp.MustCompile(pattern) + return re.ReplaceAllString(input, replacement) +} diff --git a/template/helpers_test.go b/template/helpers_test.go index 7dd4cd0..686ee64 100644 --- a/template/helpers_test.go +++ b/template/helpers_test.go @@ -90,3 +90,11 @@ func TestUppercaseFirst(t *testing.T) { } } } + +func TestRegexReplace(t *testing.T) { + expected := "hello-my-String-123" + actual := regexReplace("(.*?)\\/(.*)", "hello/my-String-123", "$1-$2") + if actual != "hello-my-String-123" { + t.Errorf("error, expected %s, got %s", expected, actual) + } +}