Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Байтовые слайсы. Замена фрагментов
Выполнить замену фрагментов внутри байтового слайса позволяют следующие функции:
Replace()
— выполняет замену фрагментаold
фрагментомnew
в слайсеs
и возвращает новый слайс. Формат функции:
bytes.Replace(s []byte, old []byte, new []byte, n int) []byte
Максимальное число замен задается с помощью параметра n
. Если параметр имеет отрицательное значение, то ограничения нет. Пример:
arr := []byte("Привет, Петя")
arr2 := bytes.Replace(arr, []byte("Петя"), []byte("Вася"), 1)
fmt.Printf("%q\n", arr2) // "Привет, Вася"
arr = []byte("1 1 1 1 1")
arr2 = bytes.Replace(arr, []byte("1"), []byte("2"), 3)
fmt.Printf("%q\n", arr2) // "2 2 2 1 1"
arr2 = bytes.Replace(arr, []byte("1"), []byte("2"), -1)
fmt.Printf("%q\n", arr2) // "2 2 2 2 2"
ReplaceAll()
— выполняет замену всех фрагментовold
фрагментомnew
в слайсеs
и возвращает новый слайс. Формат функции:
bytes.ReplaceAll(s []byte, old []byte, new []byte) []byte
Пример:
arr := []byte("Привет, Петя")
arr2 := bytes.ReplaceAll(arr, []byte("Петя"), []byte("Вася"))
fmt.Printf("%q\n", arr2) // "Привет, Вася"
arr = []byte("1 1 1 1 1")
arr2 = bytes.ReplaceAll(arr, []byte("1"), []byte("2"))
fmt.Printf("%q\n", arr2) // "2 2 2 2 2"
Map()
— выполняет замену всех символов в слайсеs
в соответствии с функциейmapping
и возвращает новый слайс. Если функцияmapping
возвращает отрицательное значение, то символ не добавляется в новый слайс. Формат функции:
bytes.Map(mapping func(r rune) rune, s []byte) []byte
Пример:
arr := []byte("12332103")
arr2 := bytes.Map(func(r rune) rune {
if r == '2' {
return '_' // Заменяем символ
} else if r == '0' {
return -1 // Удаляем символ
}
return r // Оставляем символ без изменений
}, arr)
fmt.Println(string(arr2)) // 1_33_13
Реквизиты
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов