Функция strings.TrimSuffix

Функция strings.TrimSuffix удаляет указанный суффикс из строки, если он присутствует в конце. В первый параметр мы передаем исходную строку, во второй параметр — суффикс, который нужно удалить. Если строка заканчивается на данный суффикс, функция возвращает новую строку без этого суффикса. В противном случае возвращается исходная строка без изменений.

Синтаксис

gostrings.TrimSuffix(s, suffix)

Пример

Давайте удалим суффикс ".go" из строки "main.go":

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  res := strings.TrimSuffix("main.go", ".go")
  fmt.Println(res)
}

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

go"main"

Пример

Если строка не заканчивается на указанный суффикс, функция возвращает исходную строку. Давайте попробуем удалить суффикс ".txt" из строки "main.go":

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  res := strings.TrimSuffix("main.go", ".txt")
  fmt.Println(res)
}

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

go"main.go"

Пример

Важно помнить, что strings.TrimSuffix удаляет только полное совпадение в конце строки. Давайте удалим суффикс "abc" из строки "abcabc":

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  res := strings.TrimSuffix("abcabc", "abc")
  fmt.Println(res)
}

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

go"abc"

Как видим, функция удалила только последнее вхождение суффикса, а не все возможные.

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

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