golang 判断字符串包含字串
在开发过程中,我们经常会遇到需要判断一个字符串是否包含另一个子串的情况。在Golang中提供了多种方法来实现这一功能,本文将详细介绍这些方法,并给出示例代码。
strings.Contains
strings.Contains
函数是Golang中最基本的字符串包含判断函数,用于判断一个字符串是否包含另一个子串。这个函数的用法非常简单,只需传入两个参数,第一个参数是源字符串,第二个参数是要检查的子串,函数会返回一个bool值表示是否包含。
package main
import (
"fmt"
"strings"
)
func main() {
str := "Hello, world"
substr := "world"
fmt.Println(strings.Contains(str, substr)) // true
}
运行结果:
true
strings.Index
strings.Index
函数是另一个常用的字符串包含判断函数,用于返回子串在源字符串中第一次出现的位置。如果子串不在源字符串中,则返回-1。
package main
import (
"fmt"
"strings"
)
func main() {
str := "Hello, world"
substr := "world"
index := strings.Index(str, substr)
if index != -1 {
fmt.Println("子串在第", index, "个字符处") // 子串在第 7 个字符处
} else {
fmt.Println("源字符串不包含子串")
}
}
运行结果:
子串在第 7 个字符处
strings.ContainsAny
strings.ContainsAny
函数用于判断源字符串中是否包含任意一个字符在给定的字符集中,其用法与Contains
函数类似。
package main
import (
"fmt"
"strings"
)
func main() {
str := "Hello, world"
charset := "aeiou"
fmt.Println(strings.ContainsAny(str, charset)) // true
}
运行结果:
true
strings.ContainsRune
strings.ContainsRune
函数用于判断源字符串中是否包含指定的Unicode码点(rune),其返回值表示是否包含。
package main
import (
"fmt"
"strings"
)
func main() {
str := "Hello, 世界"
r := '界'
fmt.Println(strings.ContainsRune(str, r)) // true
}
运行结果:
true
strings.ContainsAny
strings.ContainsAny
函数用于判断源字符串中是否包含任意一个字符在给定的字符集中。
package main
import (
"fmt"
"strings"
)
func main() {
str := "Hello, world"
charset := "aeiou"
fmt.Println(strings.ContainsAny(str, charset)) // true
}
运行结果:
true
strings.ContainsAny
strings.ContainsAny
函数用于判断源字符串中是否包含任意一个字符在给定的字符集中。
package main
import (
"fmt"
"strings"
)
func main() {
str := "Hello, world"
charset := "aeiou"
fmt.Println(strings.ContainsAny(str, charset)) // true
}
运行结果:
true
strings.ContainsAny
strings.ContainsAny
函数用于判断源字符串中是否包含任意一个字符在给定的字符集中。
package main
import (
"fmt"
"strings"
)
func main() {
str := "Hello, world"
charset := "aeiou"
fmt.Println(strings.ContainsAny(str, charset)) // true
}
运行结果:
true
以上便是在Golang中判断字符串是否包含子串的几种方法,选择合适的方法可以更高效地完成字符串比对的任务。希木本文对您有所帮助。