Функция 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,
которая удаляет пробелы с обеих сторон строки