Функция strings.LastIndex
Функция strings.LastIndex возвращает индекс последнего вхождения подстроки в строке. Первым параметром она принимает строку для поиска, вторым - подстроку, которую нужно найти. Если подстрока не найдена, функция возвращает -1. Индексация символов в строке начинается с нуля.
Синтаксис
strings.LastIndex(str, substr)
Пример
Давайте найдем индекс последнего вхождения подстроки 'cd' в строке 'abcdcd':
package main
import (
"fmt"
"strings"
)
func main() {
res := strings.LastIndex("abcdcd", "cd")
fmt.Println(res)
}
Результат выполнения кода:
4
Обратите внимание, что подстрока 'cd' встречается дважды: на позициях 2 и 4. Функция возвращает индекс последнего вхождения - 4.
Пример
Давайте проверим, что возвращает функция, если подстрока не найдена в строке. Ищем подстроку 'xyz' в строке 'abcdcd':
package main
import (
"fmt"
"strings"
)
func main() {
res := strings.LastIndex("abcdcd", "xyz")
fmt.Println(res)
}
Результат выполнения кода:
-1
Функция вернула -1, так как подстрока 'xyz' не найдена в исходной строке.
Пример
Давайте найдем индекс последнего вхождения пустой строки в строку 'abcde':
package main
import (
"fmt"
"strings"
)
func main() {
res := strings.LastIndex("abcde", "")
fmt.Println(res)
}
Результат выполнения кода:
5
При поиске пустой строки функция возвращает длину строки, так как пустая строка считается найденной в конце строки.
Пример
Давайте найдем последнее вхождение подстроки 'a' в строке 'ababa':
package main
import (
"fmt"
"strings"
)
func main() {
res := strings.LastIndex("ababa", "a")
fmt.Println(res)
}
Результат выполнения кода:
4
Символ 'a' встречается на позициях 0, 2 и 4. Функция возвращает индекс последнего вхождения - 4.
Смотрите также
-
функцию
strings.Index,
которая возвращает индекс первого вхождения подстроки -
функцию
strings.LastIndexAny,
которая возвращает индекс последнего вхождения любого символа из набора -
функцию
strings.LastIndexByte,
которая возвращает индекс последнего вхождения байта -
функцию
strings.Count,
которая подсчитывает количество вхождений подстроки