Go语言strings包
目录
strings包实现了用于操作字符的简单函数。
func EqualFold
判断两个utf-8编码字符串(将unicode大写、小写、标题三种格式字符视为相同)是否相同。
func EqualFold(s, t string) bool
示例:
func main() {
str1 := "Golang"
str2 := "golang"
fmt.Println(strings.EqualFold(str1, str2)) //输出: true
}
HasPrefix
判断s是否有前缀字符串prefix。
func HasPrefix(s, prefix string) bool
示例:
func main() {
var str string = "Hello"
fmt.Println(strings.HasPrefix(str, "He")) //true
fmt.Println(strings.HasPrefix(str, "he")) //false
}
func HasSuffix
判断s是否有后缀字符串suffix。
func HasSuffix(s, suffix string) bool
示例:
func main() {
var str = "Hello"
fmt.Println(strings.HasSuffix(str, "llo")) //true
fmt.Println(strings.HasSuffix(str, "ll")) //false
}
func Contains
判断字符串s是否包含子串substr。
func Contains(s, substr string) bool
示例:
func main() {
var str = "中国,台湾"
fmt.Println(strings.Contains(str, "台湾")) //true
fmt.Println(strings.Contains(str, "日本")) //false
}
func ContainsRune
判断字符串s是否包含utf-8码值r。
func ContainsRune(s string, r rune) bool
示例:
func main() {
var r rune = '中'
var str = "中国"
fmt.Println(strings.ContainsRune(str, r)) //true
fmt.Println(strings.ContainsRune(str, '日')) //false
}
func ContainsAny
判断字符串s是否包含字符串chars中的任一字符。
func ContainsAny(s, chars string) bool
示例:
func main() {
var s = "我爱你,中国"
var chars = "我爱你"
var test = "日"
fmt.Println(strings.ContainsAny(s, chars)) //true
fmt.Println(strings.ContainsAny(s, test)) //false
}
func Count
返回substr在字符串s中出现的次数,如果substr是一个空字符串,则返回字符串s的unicode长度+1
func Count(s, substr string) int
示例:
func main() {
var s = "Jack,This is 龙"
var seq1 = "is"
var seq2 = "龙"
var seq3 = ""
fmt.Println("字符串s的长度为:", utf8.RuneCountInString(s))
fmt.Println(strings.Count(s, seq1)) //2
fmt.Println(strings.Count(s, seq2)) //1
fmt.Println(strings.Count(s, seq3)) //15
}
func Index
子串substr在字符串s中第一次出现的位置,不存在则返回-1。
func Index(s, substr string) int
示例:
func main() {
var s = "hello,world"
var substr = "o"
var substr2 = "a"
fmt.Println(strings.Index(s, substr)) //4
fmt.Println(strings.Index(s, substr2)) //-1
}
func IndexByte
字符c在s中第一次出现的位置,不存在则返回-1。
func IndexByte(s string, c byte) int
示例:
func main() {
var s = "hello,world"
var c1 byte = 'o'
var c2 byte = 'a'
fmt.Println(strings.IndexByte(s, c1)) //4
fmt.Println(strings.IndexByte(s, c2)) //-1
}