Go語(yǔ)言中字符串的查找方法小結(jié)
1.func Contains(s, substr string) bool這個(gè)函數(shù)是查找某個(gè)字符是否在這個(gè)字符串中存在,存在返回true
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Contains("widuu", "wi")) //true
fmt.Println(strings.Contains("wi", "widuu")) //false
}
2.func ContainsAny(s, chars string) bool這個(gè)是查詢字符串中是否包含多個(gè)字符
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.ContainsAny("widuu", "w&d")) //true
}
3.func ContainsRune(s string, r rune) bool,這里邊當(dāng)然是字符串中是否包含rune類型,其中rune類型是utf8.RUneCountString可以完整表示全部Unicode字符的類型
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.ContainsRune("widuu", rune('w'))) //true
fmt.Println(strings.ContainsRune("widuu", 20)) //fasle
}
4.func Count(s, sep string) int這個(gè)的作用就是輸出,在一段字符串中有多少匹配到的字符
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Count("widuu", "uu")) //1
fmt.Println(strings.Count("widuu", "u")) //2
}
5.func Index(s, sep string) int 這個(gè)函數(shù)是查找字符串,然后返回當(dāng)前的位置,輸入的都是string類型,然后int的位置信息
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Index("widuu", "i")) //1
fmt.Println(strings.Index("widuu", "u")) //3
}
6.func IndexAny(s, chars string) int 這個(gè)函數(shù)是一樣的查找,字符串第一次出現(xiàn)的位置,如果不存在就返回-1
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.IndexAny("widuu", "u")) //3
}
7.func IndexByte(s string, c byte) int,這個(gè)函數(shù)功能還是查找第一次粗線的位置,只不過(guò)這次C是byte類型的,查找到返回位置,找不到返回-1
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.IndexByte("hello xiaowei", 'x')) //6
}
8.func IndexRune(s string, r rune) int,還是查找位置,只不過(guò)這次是rune類型的
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.IndexRune("widuu", rune('w'))) //0
}
9.func IndexFunc(s string, f func(rune) bool) int這個(gè)函數(shù)大家一看就知道了,是通過(guò)類型的轉(zhuǎn)換來(lái)用函數(shù)查找位置,我們來(lái)代碼看下哈
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.IndexFunc("nihaoma", split)) //3
}
func split(r rune) bool {
if r == 'a' {
return true
}
return false
}
10.func LastIndex(s, sep string) int 看到這個(gè)大家可能也明白了查找的是最后出現(xiàn)的位置,正好跟index相反
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.LastIndex("widuu", "u")) // 4
}
11.func LastIndexAny(s, chars string) int這個(gè)跟indexAny正好相反,也是查找最后一個(gè)
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.LastIndexAny("widuu", "u")) // 4
}
相關(guān)文章
Golang測(cè)試func?TestXX(t?*testing.T)的使用詳解
一般Golang中的測(cè)試代碼都以xxx_test.go的樣式,在命名測(cè)試函數(shù)的時(shí)候以Testxx開頭,下面給大家介紹Golang測(cè)試func?TestXX(t?*testing.T)的使用,感興趣的朋友跟隨小編一起看看吧2024-08-08
深入探究Go語(yǔ)言從反射到元編程的實(shí)踐與探討
反射和元編程是一些高級(jí)編程概念,它們使開發(fā)者能夠在運(yùn)行時(shí)檢查、修改并控制程序的行為,了解反射和元編程的工作方式可以幫助我們更好地理解Go,以及如何在需要的時(shí)候高效地使用它們,文章中介紹的非常詳細(xì),感興趣的同學(xué)可以參考下2023-05-05
搭建Go語(yǔ)言的ORM框架Gorm的具體步驟(從Java到go)
很多朋友不知道如何使用Goland軟件,搭建一個(gè)ORM框架GORM,今天小編給大家分享一篇教程關(guān)于搭建Go語(yǔ)言的ORM框架Gorm的具體步驟(從Java到go),感興趣的朋友跟隨小編一起學(xué)習(xí)下吧2022-09-09
Golang實(shí)現(xiàn)KV存儲(chǔ)引擎實(shí)例探究
這篇文章主要為大家介紹了Golang實(shí)現(xiàn)KV存儲(chǔ)引擎實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Golang使用archive/zip包實(shí)現(xiàn)ZIP壓縮與解壓
Golang?中的?archive/zip?包用于處理?ZIP?格式的壓縮文件,提供了一系列用于創(chuàng)建、讀取和解壓縮?ZIP?格式文件的函數(shù)和類型,使用起來(lái)非常方便,下面就跟隨小編一起了解一下具體使用方法吧2023-08-08
Go語(yǔ)言微服務(wù)中實(shí)現(xiàn)鏈路追蹤
在微服務(wù)架構(gòu)中,鏈路追蹤技術(shù)可以幫助我們跟蹤請(qǐng)求在各個(gè)服務(wù)之間的傳播路徑,本文就來(lái)介紹一下Go語(yǔ)言微服務(wù)中實(shí)現(xiàn)鏈路追蹤,感興趣的可以了解一下2024-12-12

