РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
167 of 1593 menu

Функция bytes.Replace

Функция bytes.Replace заменяет первые n вхождений подстроки old на строку new в исходном байтовом слайсе. Первый параметр принимает исходный слайс байтов, второй — подстроку для замены, третий — строку для вставки, четвертый — количество замен. Если n меньше нуля, функция заменяет все вхождения. Возвращает новый слайс байтов с выполненными заменами.

Синтаксис

bytes.Replace(s, old, new []byte, n int) []byte

Пример

Давайте заменим первые два вхождения подстроки '12' в строке '12123412' на подстроку 'XX':

package main import ( "bytes" "fmt" ) func main() { s := []byte("12123412") old := []byte("12") new := []byte("XX") res := bytes.Replace(s, old, new, 2) fmt.Println(string(res)) }

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

"XXXX3412"

Пример

Теперь давайте заменим все вхождения подстроки 'ab' в строке 'ababab' на подстроку '--', передав четвертый параметр равным -1:

package main import ( "bytes" "fmt" ) func main() { s := []byte("ababab") old := []byte("ab") new := []byte("--") res := bytes.Replace(s, old, new, -1) fmt.Println(string(res)) }

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

"--"--"--"

Пример

А если количество замен равно нулю, то исходный слайс остается без изменений. Давайте проверим это на строке '123123' с подстрокой '23':

package main import ( "bytes" "fmt" ) func main() { s := []byte("123123") old := []byte("23") new := []byte("45") res := bytes.Replace(s, old, new, 0) fmt.Println(string(res)) }

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

"123123"

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

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