dsl replacement function extended with regex support

This commit is contained in:
Max Boll 2020-10-14 14:45:05 +02:00
parent 6ef172e046
commit 9d1d2bfe16

View File

@ -12,7 +12,7 @@ import (
"net/url"
"regexp"
"strings"
"github.com/Knetic/govaluate"
)
@ -39,7 +39,11 @@ func HelperFunctions() (functions map[string]govaluate.ExpressionFunction) {
}
functions["replace"] = func(args ...interface{}) (interface{}, error) {
return strings.ReplaceAll(args[0].(string), args[1].(string), args[2].(string)), nil
compiled, err := regexp.Compile(args[1].(string))
if err != nil {
return nil, err
}
return compiled.ReplaceAllString(args[0].(string), args[2].(string)), nil
}
functions["trim"] = func(args ...interface{}) (interface{}, error) {