cpp

Байтовые слайсы. Удаление пробельных символов

Для удаления пробельных символов предназначены следующие функции:

  • TrimSpace() — удаляет пробельные символы из начала и конца слайса и возвращает копию слайса. Пробельными символами считаются: пробел, символ перевода строки (\n), символ возврата каретки (\r), символы горизонтальной (\t), вертикальной (\v) табуляции и др. Формат функции:
bytes.TrimSpace(s []byte) []byte

Пример:

arr := []byte("     str\n\r\v\t")
arr = bytes.TrimSpace(arr)
fmt.Printf("'%s'", arr) // 'str'
  • Trim() — удаляет символы, перечисленные в строке cutset, из начала и конца слайса и возвращает копию слайса. Формат функции:
bytes.Trim(s []byte, cutset string) []byte

Пример:

arr := []byte("     str\n\r\v\t")
arr = bytes.Trim(arr, " \n\r\v\t")
fmt.Printf("'%s'", arr) // 'str'
  • TrimLeft() — удаляет символы, перечисленные в строке cutset, из начала слайса и возвращает копию слайса. Формат функции:
bytes.TrimLeft(s []byte, cutset string) []byte

Пример:

arr := []byte("\n\r\v\t str\n\r\v\t ")
arr = bytes.TrimLeft(arr, " \n\r\v\t")
fmt.Printf("%q", arr) // "str\n\r\v\t "
  • TrimRight() — удаляет символы, перечисленные в строке cutset, из конца слайса и возвращает копию слайса. Формат функции:
bytes.TrimRight(s []byte, cutset string) []byte

Пример:

arr := []byte("\n\r\v\t str\n\r\v\t ")
arr = bytes.TrimRight(arr, " \n\r\v\t")
fmt.Printf("%q", arr) // "\n\r\v\t str"
  • TrimFunc() — удаляет символы, для которых функция f вернула значение true, из начала и конца слайса и возвращает копию слайса. Формат функции:
bytes.TrimFunc(s []byte, f func(r rune) bool) []byte

Пример удаления пробельных символов:

// import "unicode"
arr := []byte("\n\r\v\t str\n\r\v\t ")
arr = bytes.TrimFunc(arr, unicode.IsSpace)
fmt.Printf("%q", arr) // "str"
  • TrimLeftFunc() — удаляет символы, для которых функция f вернула значение true, из начала слайса и возвращает копию слайса. Формат функции:
bytes.TrimLeftFunc(s []byte, f func(r rune) bool) []byte

Пример удаления символа _:

arr := []byte("___str___")
arr = bytes.TrimLeftFunc(arr, func(r rune) bool {
   return r == '_'
})
fmt.Printf("%q", arr) // "str___"
  • TrimRightFunc() — удаляет символы, для которых функция f вернула значение true, из конца слайса и возвращает копию слайса. Формат функции:
bytes.TrimRightFunc(s []byte, f func(r rune) bool) []byte

Пример удаления символа _:

arr := []byte("___str___")
arr = bytes.TrimRightFunc(arr, func(r rune) bool {
   return r == '_'
})
fmt.Printf("%q", arr) // "___str"
  • TrimPrefix() — удаляет фрагмент prefix из начала слайса и возвращает копию слайса. Формат функции:
bytes.TrimPrefix(s []byte, prefix []byte) []byte

Пример:

arr := []byte("___str___")
arr = bytes.TrimPrefix(arr, []byte("___"))
fmt.Printf("%q", arr) // "str___"
  • TrimSuffix() — удаляет фрагмент suffix из конца слайса и возвращает копию слайса. Формат функции:
bytes.TrimSuffix(s []byte, suffix []byte) []byte

Пример:

arr := []byte("___str___")
arr = bytes.TrimSuffix(arr, []byte("___"))
fmt.Printf("%q", arr) // "___str"

Учебник Go (Golang)
Учебник Go (Golang) в формате PDF

Реквизиты

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

cpp