Изучение Golang: как проверить, содержит ли строка подстроку

При работе со строками в языке программирования Golang довольно часто возникает необходимость проверить, содержит ли строка определенную подстроку. В этой статье мы углубимся в различные методы, которые Golang предоставляет для выполнения этой задачи, с примерами кода и разговорными объяснениями. Итак, начнем!

Метод 1: использование функции strings.Contains
Golang предоставляет встроенную функцию под названием Containsв пакете strings, которая позволяет нам проверять, есть ли строка содержит подстроку. Вот пример:

package main
import (
    "fmt"
    "strings"
)
func main() {
    str := "This is a sample string"
    substr := "sample"
    if strings.Contains(str, substr) {
        fmt.Println("Substring found!")
    } else {
        fmt.Println("Substring not found!")
    }
}

Метод 2: использование функции strings.Index.
Еще одна полезная функция в пакете stringsIndex, которая возвращает индекс первого вхождения подстроки. в данной строке. Мы можем использовать эту функцию, чтобы проверить, содержит ли строка подстроку. Вот пример:

package main
import (
    "fmt"
    "strings"
)
func main() {
    str := "This is a sample string"
    substr := "sample"
    if strings.Index(str, substr) != -1 {
        fmt.Println("Substring found!")
    } else {
        fmt.Println("Substring not found!")
    }
}

Метод 3. Использование регулярных выражений
Пакет regexpGolang предоставляет мощные инструменты для поиска и сопоставления шаблонов в строках. Мы можем использовать регулярные выражения, чтобы проверить, содержит ли строка подстроку. Вот пример:

package main
import (
    "fmt"
    "regexp"
)
func main() {
    str := "This is a sample string"
    substr := "sample"
    match, _ := regexp.MatchString(substr, str)
    if match {
        fmt.Println("Substring found!")
    } else {
        fmt.Println("Substring not found!")
    }
}

Метод 4: использование функции strings.ContainsAny
Если вам нужно проверить, содержит ли строка какой-либо набор символов или подстрок, вы можете использовать функцию ContainsAnyиз stringsпакет. Вот пример:

package main
import (
    "fmt"
    "strings"
)
func main() {
    str := "This is a sample string"
    substr := "aeiou"
    if strings.ContainsAny(str, substr) {
        fmt.Println("Vowels found!")
    } else {
        fmt.Println("No vowels found!")
    }
}

В этой статье мы рассмотрели несколько методов проверки наличия подстроки в строке в Golang. Мы рассмотрели встроенные функции Containsи Indexиз пакета strings, а также мощные возможности регулярных выражений, предоставляемые . 14пакет. Кроме того, мы увидели, как проверить, содержит ли строка какой-либо набор символов, с помощью функции ContainsAny. Вооружившись этими методами, вы сможете эффективно решать задачи поиска строк в своих проектах на Golang.