Функция strings.TrimLeftFunc
Функция strings.TrimLeftFunc удаляет все символы
с начала строки, которые удовлетворяют условию,
заданному в переданной функции. Первым параметром
функция принимает исходную строку, вторым -
функцию-предикат, которая принимает руну (rune)
и возвращает bool. Удаление происходит до тех пор,
пока функция возвращает true для текущего символа.
Как только встречается символ, для которого функция
возвращает false, обрезка прекращается.
Синтаксис
strings.TrimLeftFunc(str, f)
Пример
Давайте удалим все цифры и знаки препинания с начала строки:
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
res := strings.TrimLeftFunc("123!@#abcde", func(r rune) bool {
return unicode.IsDigit(r) || unicode.IsPunct(r)
})
fmt.Println(res)
}
Результат выполнения кода:
"abcde"
Пример
Давайте удалим все пробельные символы и табуляции с начала строки:
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
res := strings.TrimLeftFunc(" \t\n\t abcde", unicode.IsSpace)
fmt.Printf("%q", res)
}
Результат выполнения кода:
"abcde"
Пример
Давайте удалим все гласные буквы с начала строки:
package main
import (
"fmt"
"strings"
)
func main() {
isVowel := func(r rune) bool {
return r == 'a' || r == 'e' || r == 'i' || r == 'o' || r == 'u'
}
res := strings.TrimLeftFunc("aeioubcde", isVowel)
fmt.Println(res)
}
Результат выполнения кода:
"bcde"
Смотрите также
-
функцию
strings.TrimFunc,
которая удаляет символы по условию с обоих концов строки -
функцию
strings.TrimRightFunc,
которая удаляет символы по условию с конца строки -
функцию
strings.TrimLeft,
которая удаляет заданный набор символов с начала строки -
функцию
strings.Trim,
которая удаляет заданный набор символов с обоих концов строки