Golang | Replacing all String which Matches with Regular Expression
Last Updated :
05 Sep, 2019
A regular expression is a sequence of characters which define a search pattern. Go language support regular expressions. A regular expression is used for parsing, filtering, validating, and extracting meaningful information from large text, like logs, the output generated from other programs, etc.
In Go regexp, you are allowed to replace original string with another string if the specified string matches with the specified regular expression with the help of ReplaceAllString() method. In this method, $ sign means interpreted as in Expand like $1 indicates the text of the first submatch. This method is defined under the regexp package, so for accessing this method you need to import the regexp package in your program.
Syntax:
func (re *Regexp) ReplaceAllString(str, r string) string
Example 1:
package main
import (
"fmt"
"regexp"
)
func main() {
m1 := regexp.MustCompile(`x(p*)y`)
fmt.Println(m1.ReplaceAllString( "xy--xpppyxxppxy-" , "B" ))
fmt.Println(m1.ReplaceAllString( "xy--xpppyxxppxy--" , "$1" ))
fmt.Println(m1.ReplaceAllString( "xy--xpppyxxppxy-" , "$1P" ))
fmt.Println(m1.ReplaceAllString( "xy--xpppyxxppxy-" , "${1}Q" ))
}
|
Output:
B--BxxppB-
--pppxxpp--
--xxpp-
Q--pppQxxppQ-
Example 2:
package main
import (
"fmt"
"regexp"
)
func main() {
s := "Geeks-for-Geeks-for-Geeks-for-Geeks-gfg"
m := regexp.MustCompile( "^(.*?)Geeks(.*)$" )
Str := "${1}GEEKS$2"
res := m.ReplaceAllString(s, Str)
fmt.Println(res)
}
|
Output:
GEEKS-for-Geeks-for-Geeks-for-Geeks-gfg
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...