C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Here: We just remove spaces by passing a 1-char space string. The TrimSpace func could be used instead of Trim.
Golang program that uses Trim, TrimLeft, TrimRight
package main
import (
"fmt"
"strings"
)
func main() {
test := " hello "
// Remove spaces with Trim, TrimLeft, TrimRight.
result1 := strings.Trim(test, " ")
result2 := strings.TrimLeft(test, " ")
result3 := strings.TrimRight(test, " ")
fmt.Println("{" + result1 + "}")
fmt.Println("{" + result2 + "}")
fmt.Println("{" + result3 + "}")
}
Output
{hello}
{hello }
{ hello}
Tip: The whitespace can be in any order—spaces can be before or after newlines.
Golang program that uses TrimSpace
package main
import (
"fmt"
"strings"
)
func main() {
test := " hello \n"
// Remove leading and training whitespace chars.
result1 := strings.TrimSpace(test)
fmt.Println("{" + result1 + "}")
}
Output
{hello}
Important: For TrimPrefix and TrimSuffix, the string is left unchanged if the argument cannot be found.
Golang program that uses TrimPrefix, TrimSuffix
package main
import (
"fmt"
"strings"
)
func main() {
test1 := "https://www.example.com/"
fmt.Println(":::TRIM PREFIX:::")
result1 := strings.TrimPrefix(test1, "https://")
fmt.Println(result1)
fmt.Println(":::TRIM SUFFIX:::")
result2 := strings.TrimSuffix(test1, ".com/")
fmt.Println(result2)
// If we try to trim something that is not there, nothing happens.
result3 := strings.TrimSuffix(test1, ".net/")
fmt.Println(result3)
}
Output
:::TRIM PREFIX:::
www.example.com/
:::TRIM SUFFIX:::
https://www.example
https://www.example.com/
Here: We use the ASCII range for a digit value in the func. If the ASCII value represents a digit between 0 and 9, we remove it.
And: The result has the leading and trailing digits stripped. Only the Hello remains.
Golang program that uses TrimFunc
package main
import (
"fmt"
"strings"
)
func main() {
source := "123Hello4567"
// Use TrimFunc with a rune-testing function.
// ... If rune is a digit in ASCII return true.
// These chars are removed.
result := strings.TrimFunc(source, func(c rune) bool {
return c >= 48 && c <= 57
})
fmt.Println("{" + result + "}")
}
Output
{Hello}