code: func cleanString(s string, r *regexp.Regexp) string {
  
  	// Remove any trailing space to avoid ending on -
  	s = strings.Trim(s, " ")
  
  	// Flatten accents first so that if we remove non-ascii we still get a legible name
  	s = Accents(s)
  
  	// Replace certain joining characters with a dash
  	s = separators.ReplaceAllString(s, "-")
  
  	// Remove all other unrecognised characters - NB we do allow any printable characters
  	s = r.ReplaceAllString(s, "")
  
  	// Remove any multiple dashes caused by replacements above
  	s = dashes.ReplaceAllString(s, "-")
  
  	return s
  }
docs: // cleanString replaces separators with - and removes characters listed in the regexp provided from string.
  // Accents, spaces, and all characters not in A-Za-z0-9 are replaced.