Функция strings.Count
Функция strings.Count подсчитывает количество непересекающихся вхождений
подстроки в строке. В первый параметр мы передаем строку для поиска,
во второй параметр мы передаем подстроку, количество вхождений которой
нужно подсчитать. Функция возвращает целое число типа int.
Если подстрока пустая, функция возвращает количество рун в строке плюс один.
Синтаксис
gostrings.Count(str, substr)
Пример
Давайте подсчитаем, сколько раз подстрока "bc" встречается в строке "abcbcde":
gopackage main
import (
"fmt"
"strings"
)
func main() {
res := strings.Count("abcbcde", "bc")
fmt.Println(res)
}
Результат выполнения кода:
go2
Пример
Давайте подсчитаем, сколько раз подстрока "x" встречается в строке "abcde":
gopackage main
import (
"fmt"
"strings"
)
func main() {
res := strings.Count("abcde", "x")
fmt.Println(res)
}
Результат выполнения кода:
go0
Пример
Особенность функции strings.Count заключается в том,
что она считает только непересекающиеся вхождения.
Давайте проверим это на примере строки "aaaaa" и подстроки "aa":
gopackage main
import (
"fmt"
"strings"
)
func main() {
res := strings.Count("aaaaa", "aa")
fmt.Println(res)
}
Результат выполнения кода:
go2
Как видите, функция нашла два непересекающихся вхождения:
первая и вторая пары символов "aa" и третья и четвертая пары.
Пятый символ остался без пары.
Пример
Если передать пустую подстроку, функция возвращает количество рун в строке плюс один:
gopackage main
import (
"fmt"
"strings"
)
func main() {
res := strings.Count("abcde", "")
fmt.Println(res)
}
Результат выполнения кода:
go6
Смотрите также
-
функцию
strings.Contains,
которая проверяет наличие подстроки в строке -
функцию
strings.Index,
которая возвращает позицию первого вхождения подстроки -
функцию
strings.LastIndex,
которая возвращает позицию последнего вхождения подстроки -
функцию
strings.ReplaceAll,
которая заменяет все вхождения подстроки на другую строку