Golang : Use regular expression to get all upper case or lower case characters example
This is an add-on for the previous tutorial on how to get all upper case or lower case characters example. In this example, we will explore the a different version that use a regular expression to achieve the same objective.
Here you go!
package main
import (
"fmt"
"regexp"
)
func removeDelimAndLowerCase(str string) string {
regExp := regexp.MustCompile(`[^[:upper:]]`)
return regExp.ReplaceAllString(str, "")
}
func removeDelimAndUpperCase(str string) string {
regExp := regexp.MustCompile(`[^[:lower:]]`)
return regExp.ReplaceAllString(str, "")
}
func main() {
str := "This a string with some UpperCase Characters."
allUpper := removeDelimAndLowerCase(str)
fmt.Println("All uppercase : ", allUpper)
allLower := removeDelimAndUpperCase(str)
fmt.Println("All lowercase : ", allLower)
}
Output:
All uppercase : TUCC
All lowercase : hisastringwithsomepperaseharacters
NOTES:
It is definitely faster to use regular expression to parse string, but sometimes it can be hard to read for other programmers or your teammates. To keep things simple, try to use non-regular expression solution if possible. Ability is read source code is more important that ability to write codes.
Happy coding!
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
+2.7k Unix/Linux : secure copying between servers with SCP command examples
+4.7k Golang : Random Rune generator
+2.6k Javascript : Push notifications to browser with Push.js
+5.9k Golang : rune literal not terminated error
+4.4k Golang : Serving HTTP and Websocket from different ports in a program example
+2.7k Golang : Extract XML attribute data with attr field tag example
+3.4k Android Studio : Rating bar example
+3.1k Golang : How to calculate the distance between two coordinates using Haversine formula
+4.7k Golang : On lambda, anonymous, inline functions and function literals
+3.6k Golang : Generate Datamatrix barcode
+6.9k Golang : Read from buffered reader until specific number of bytes