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