Функция strings.TrimRightFunc
Функция strings.TrimRightFunc удаляет все символы
из конца строки, для которых переданная функция возвращает
true. В первый параметр передается строка для
обработки, во второй параметр передается функция, которая
принимает руну и возвращает bool. Удаление происходит
до тех пор, пока условие выполняется. Как только встречается
символ, для которого функция вернула false, обрезка
прекращается.
Синтаксис
strings.TrimRightFunc(str, func(r rune) bool)
Пример
Давайте удалим все цифры из конца строки "abcde12345":
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
res := strings.TrimRightFunc("abcde12345", unicode.IsDigit)
fmt.Println(res)
}
Результат выполнения кода:
"abcde"
Пример
Давайте удалим все символы пунктуации из конца строки "hello!!!":
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
res := strings.TrimRightFunc("hello!!!", unicode.IsPunct)
fmt.Println(res)
}
Результат выполнения кода:
"hello"
Пример
Давайте удалим все пробельные символы из конца строки "abcde ":
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
res := strings.TrimRightFunc("abcde ", unicode.IsSpace)
fmt.Println(res)
}
Результат выполнения кода:
"abcde"
Пример
Давайте удалим все символы, которые не являются буквами, из конца строки "abc123%%%":
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
res := strings.TrimRightFunc("abc123%%%", func(r rune) bool {
return !unicode.IsLetter(r)
})
fmt.Println(res)
}
Результат выполнения кода:
"abc"
Пример
Важно отметить, что функция обрезает только символы в конце строки. Если в середине строки есть символы, удовлетворяющие условию, они не удаляются:
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
res := strings.TrimRightFunc("a1b2c3", unicode.IsDigit)
fmt.Println(res)
}
Результат выполнения кода:
"a1b2c"
Как видите, удалилась только цифра 3 в конце строки,
а цифры 1 и 2 остались на месте.
Смотрите также
-
функцию
strings.TrimFunc,
которая удаляет символы по условию с обоих концов строки -
функцию
strings.TrimLeftFunc,
которая удаляет символы по условию из начала строки -
функцию
strings.Trim,
которая удаляет указанные символы с обоих концов строки -
функцию
strings.TrimSpace,
которая удаляет пробельные символы с обоих концов строки