Функция bytes.Trim

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

Синтаксис

gobytes.Trim(s, cutset)

Пример

Давайте удалим все символы '.' и '?' с краев строки '.Hello.?':

gopackage main

import (
  "bytes"
  "fmt"
)

func main() {
  s := []byte(".Hello.?")
  res := bytes.Trim(s, ".?")
  fmt.Println(string(res))
}

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

go"Hello"

Пример

Давайте удалим все цифры с краев строки '123abc456':

gopackage main

import (
  "bytes"
  "fmt"
)

func main() {
  s := []byte("123abc456")
  res := bytes.Trim(s, "123456")
  fmt.Println(string(res))
}

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

go"abc"

Пример

Важно отметить, что функция удаляет все указанные символы с краев, даже если они повторяются. Удалим пробелы и табы с краев строки '\t abc \t':

gopackage main

import (
  "bytes"
  "fmt"
)

func main() {
  s := []byte("\t  abc  \t")
  res := bytes.Trim(s, " \t")
  fmt.Println(string(res))
}

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

go"abc"

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

  • функцию bytes.TrimSpace,
    которая удаляет все пробельные символы с краев строки
  • функцию bytes.TrimPrefix,
    которая удаляет префикс строки
  • функцию bytes.TrimSuffix,
    которая удаляет суффикс строки
  • функцию strings.Trim,
    которая работает аналогично, но со строками