Golang : Underscore string example
Problem:
Your program needs to process data with whitespaces and quotes. You need a quick way to remove underscore characters from a string's start and end positions. You also want to replace white spaces and quotes to underscore "_
".
How to do that?
Solution:
Here you go!
package main
import (
"fmt"
"regexp"
"strings"
)
func UnderScoreString(str string) string {
// convert every letter to lower case
newStr := strings.ToLower(str)
// convert all spaces/tab to underscore
regExp := regexp.MustCompile("[[:space:][:blank:]]")
newStrByte := regExp.ReplaceAll([]byte(newStr), []byte("_"))
regExp = regexp.MustCompile("`[^a-z0-9]`i")
newStrByte = regExp.ReplaceAll(newStrByte, []byte("_"))
regExp = regexp.MustCompile("[!/']")
newStrByte = regExp.ReplaceAll(newStrByte, []byte("_"))
// and remove underscore from beginning and ending
newStr = strings.TrimPrefix(string(newStrByte), "_")
newStr = strings.TrimSuffix(newStr, "_")
return newStr
}
func main() {
test := "That is Peter's House"
fmt.Println(UnderScoreString(test))
test1 := "Peter's House!"
fmt.Println(UnderScoreString(test1))
test2 := "_88 is Peter's House number_"
fmt.Println(UnderScoreString(test2))
}
Output :
that_is_peter_s_house
peter_s_house
88_is_peter_s_house_number
Reference:
https://www.socketloop.com/tutorials/golang-format-strings-to-seo-friendly-url-example
See also : Golang : Format strings to SEO friendly URL example
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+71.8k Golang : How to return HTTP status code?
+28.5k Golang : How to get HTTP request header information?
+4.2k Responsive Google Adsense
+16.3k Golang : Aligning strings to right, left and center with fill example
+12.3k Golang : How to get year, month and day?
+23.5k Golang : Get current file path of a file or executable
+13k Golang : GUI with Qt and OpenCV to capture image from camera
+5.6k Elasticsearch : Shutdown a local node
+20.5k Golang : How to reverse slice or array elements order
+10.5k Golang : Setup API server or gateway with Caddy and http.ListenAndServe() function example
+8.7k Golang : Simple Jawi(Yawi) to Rumi(Latin/Romanize) converter
+14.2k Golang : Loop each day of the current month example