Open In App

Golang | Replacing all String which Matches with Regular Expression

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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:




// Go program to illustrate how to
// replace string with the specified regexp
package main
  
import (
    "fmt"
    "regexp"
)
  
// Main function
func main() {
  
    // Replace string with the specified regexp
    // Using ReplaceAllString() method
    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:




// Go program to illustrate how to replace
// string with the specified regexp
package main
  
import (
    "fmt"
    "regexp"
)
  
// Main function
func main() {
  
    // Creating and initializing a string
    // Using shorthand declaration
    s := "Geeks-for-Geeks-for-Geeks-for-Geeks-gfg"
  
    // Replacing all the strings
    // Using ReplaceAllString() method
    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


Last Updated : 05 Sep, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads