diff --git a/string_utils/snake.go b/string_utils/snake.go index 358d7fa5e2e503e1f417fc507bd659cbbb30f8f2..92cf66bf7d1e852423f71733e78c62e6e4a6f9e5 100644 --- a/string_utils/snake.go +++ b/string_utils/snake.go @@ -1,6 +1,9 @@ package string_utils -import "regexp" +import ( + "regexp" + "strings" +) const snakeCasePattern = `[a-z]([a-z0-9_]*[a-z0-9])*` @@ -9,3 +12,12 @@ var snakeCaseRegex = regexp.MustCompile("^" + snakeCasePattern + "$") func IsSnakeCase(name string) bool { return snakeCaseRegex.MatchString(name) } + +func SnakeToKebabString(s string) string { + s = strings.TrimSpace(s) + + re := regexp.MustCompile("(_)") + s = re.ReplaceAllString(s, "-") + + return s +}