Skip to content

Instantly share code, notes, and snippets.

@varfrog
Created February 2, 2026 11:50
Show Gist options
  • Select an option

  • Save varfrog/ff4a9f96f8e708c5ecf1cc5c1a1475db to your computer and use it in GitHub Desktop.

Select an option

Save varfrog/ff4a9f96f8e708c5ecf1cc5c1a1475db to your computer and use it in GitHub Desktop.
Collapse spaces
package collapse
import (
"strings"
)
func CollapseContains(s string) string {
for strings.Contains(s, " ") {
s = strings.ReplaceAll(s, " ", " ")
}
return s
}
// Single-pass using strings.Builder (Unicode-safe)
func CollapseBuilder(s string) string {
var b strings.Builder
b.Grow(len(s))
prevSpace := false
for _, r := range s {
if r == ' ' {
if prevSpace {
continue
}
prevSpace = true
} else {
prevSpace = false
}
b.WriteRune(r)
}
return b.String()
}
func CollapseFields(s string) string {
return strings.Join(strings.Fields(s), " ")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment