Функция bytes.ReplaceAll

Функция bytes.ReplaceAll заменяет все вхождения подстроки в байтовом срезе на другую подстроку. Она возвращает новый байтовый срез с выполненными заменами. Первым параметром функция принимает исходный байтовый срез, вторым - подстроку для замены, третьим - подстроку, на которую нужно заменить.

Синтаксис

gobytes.ReplaceAll(s, old, new []byte) []byte

Пример

Давайте заменим все вхождения подстроки "12" на "34" в байтовом срезе []byte("abcde"):

gopackage main

import (
  "bytes"
  "fmt"
)

func main() {
  s := []byte("abcde")
  res := bytes.ReplaceAll(s, []byte("cd"), []byte("12"))
  fmt.Printf("%s\n", res)
}

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

go"ab12e"

Пример

Давайте заменим все вхождения подстроки "l" на "L" в байтовом срезе []byte("hello world"):

gopackage main

import (
  "bytes"
  "fmt"
)

func main() {
  s := []byte("hello world")
  res := bytes.ReplaceAll(s, []byte("l"), []byte("L"))
  fmt.Printf("%s\n", res)
}

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

go"heLLo worLd"

Пример

Давайте заменим все вхождения подстроки "123" на "456" в байтовом срезе []byte("123 123 123"):

gopackage main

import (
  "bytes"
  "fmt"
)

func main() {
  s := []byte("123 123 123")
  res := bytes.ReplaceAll(s, []byte("123"), []byte("456"))
  fmt.Printf("%s\n", res)
}

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

go"456 456 456"

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

  • функцию bytes.Replace,
    которая заменяет ограниченное количество вхождений подстроки
  • функцию bytes.Contains,
    которая проверяет наличие подстроки в байтовом срезе
  • функцию bytes.Index,
    которая возвращает позицию первого вхождения подстроки
  • функцию bytes.Split,
    которая разбивает байтовый срез на части по разделителю