Метод regexp.Regexp.ReplaceAllString

Метод regexp.Regexp.ReplaceAllString выполняет поиск всех подстрок, соответствующих скомпилированному регулярному выражению, и заменяет их на указанную строку. В качестве первого параметра метод принимает исходную строку для обработки, вторым параметром - строку замены. Метод возвращает новую строку с выполненными заменами. Исходная строка при этом не изменяется.

Синтаксис

gore.ReplaceAllString(input, replacement)

Пример

Давайте заменим все цифры в строке на символ 'x':

gopackage main

import (
  "fmt"
  "regexp"
)

func main() {
  re := regexp.MustCompile(`\d`)
  res := re.ReplaceAllString("a1b2c3d4e5", "x")
  fmt.Println(res)
}

Результат выполнения кода:

go"axbxcxdxex"

Пример

Давайте заменим все последовательности из нескольких пробелов на один пробел:

gopackage main

import (
  "fmt"
  "regexp"
)

func main() {
  re := regexp.MustCompile(`\s+`)
  res := re.ReplaceAllString("a  b   c  d", " ")
  fmt.Println(res)
}

Результат выполнения кода:

go"a b c d"

Пример

Давайте удалим все небуквенные символы из строки, заменив их на пустую строку:

gopackage main

import (
  "fmt"
  "regexp"
)

func main() {
  re := regexp.MustCompile(`[^a-zA-Z]`)
  res := re.ReplaceAllString("Hello, 123 World!", "")
  fmt.Println(res)
}

Результат выполнения кода:

go"HelloWorld"

Пример

Давайте заменим все слова, состоящие из трех букв, на слово 'xxx':

gopackage main

import (
  "fmt"
  "regexp"
)

func main() {
  re := regexp.MustCompile(`\b\w{3}\b`)
  res := re.ReplaceAllString("cat dog elephant bird fox", "xxx")
  fmt.Println(res)
}

Результат выполнения кода:

go"xxx dog elephant bird xxx"

Смотрите также