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

Функция strings.TrimFunc

Функция strings.TrimFunc удаляет символы из строки слева и справа, которые удовлетворяют условию, заданному в передаваемой функции. Первым параметром функция принимает строку для обработки, вторым параметром — функцию-предикат func(rune) bool, которая определяет, какие символы необходимо удалить. Функция возвращает новую строку без удаленных символов.

Удаление происходит до тех пор, пока с обеих сторон строки встречаются символы, для которых переданная функция возвращает true. Как только встречается символ, для которого функция возвращает false, обрезание с соответствующей стороны прекращается.

Синтаксис

strings.TrimFunc(str, func(r rune) bool)

Пример

Давайте удалим из строки все символы, которые являются цифрами:

package main import ( "fmt" "strings" "unicode" ) func main() { str := "123abc456" res := strings.TrimFunc(str, func(r rune) bool { return unicode.IsDigit(r) }) fmt.Println(res) }

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

"abc"

Пример

Давайте удалим из строки все символы, которые являются пробелами:

package main import ( "fmt" "strings" "unicode" ) func main() { str := " hello world " res := strings.TrimFunc(str, func(r rune) bool { return unicode.IsSpace(r) }) fmt.Println(res) }

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

"hello world"

Пример

Давайте удалим из строки все символы, которые не являются буквами:

package main import ( "fmt" "strings" "unicode" ) func main() { str := "!@#abc123!@#" res := strings.TrimFunc(str, func(r rune) bool { return !unicode.IsLetter(r) }) fmt.Println(res) }

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

"abc123"

Пример

Давайте удалим из строки все символы, которые являются специальными знаками препинания:

package main import ( "fmt" "strings" "unicode" ) func main() { str := ".,;abc.;," res := strings.TrimFunc(str, func(r rune) bool { return unicode.IsPunct(r) }) fmt.Println(res) }

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

"abc"

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

  • функцию strings.TrimLeftFunc,
    которая удаляет символы только с начала строки по условию
  • функцию strings.TrimRightFunc,
    которая удаляет символы только с конца строки по условию
  • функцию strings.Trim,
    которая удаляет указанные символы с обеих сторон строки
  • функцию strings.TrimSpace,
    которая удаляет пробелы с обеих сторон строки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить