You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: inflector.go
    path of file: ./repos/goRailsYourself/inflector
    
    the code of the file until where you have to start completion: // The inflector package ports some of Rails' ActiveSupport functions that
// can be useful outside of Rails.
//
// Rails documentation http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html
package inflector

import (
	"github.com/fiam/gounidecode/unidecode"
	"regexp"
	"strings"
)

var parameterizeReplacementRegexp = regexp.MustCompile("(?i)[^a-z0-9-_]+")

// Replaces special characters in a string so that it may be used as part of
// a 'pretty' URL.
//
// Rails documentation: http://api.rubyonrails.org/classes/Ac
    
func Parameterize(str, sep string) string {
	// replace accented chars with their ascii equivalents
	str = Transliterate(str)
	// Turn unwanted chars into the separator
	strB := parameterizeReplacementRegexp.ReplaceAllLiteral([]byte(str), []byte(sep))
	// No more than one of the separator in a row.
	re := regexp.MustCompile(sep + `{2,}`)
	strB = re.ReplaceAllLiteral(strB, []byte(sep))
	// Remove leading/trailing separator
	re = regexp.MustCompile(`(?i)^` + sep + `|` + sep + `$`)
	strB = re.ReplaceAllLiteral(strB, []byte{})
	str = string(strB)
	// return a lower case version
	return strings.ToLower(str)
}