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è)是查詢(xún)字符串中是否包含多個(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類(lèi)型,其中rune類(lèi)型是utf8.RUneCountString可以完整表示全部Unicode字符的類(lèi)型
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類(lèi)型,然后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類(lèi)型的,查找到返回位置,找不到返回-1
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.IndexByte("hello xiaowei", 'x')) //6
}
8.func IndexRune(s string, r rune) int,還是查找位置,只不過(guò)這次是rune類(lèi)型的
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ò)類(lèi)型的轉(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基礎(chǔ)教程之字符串string實(shí)例詳解
這篇文章主要給大家介紹了關(guān)于Golang基礎(chǔ)教程之字符串string的相關(guān)資料,需要的朋友可以參考下2022-07-07Nunu快速構(gòu)建高效可靠Go應(yīng)用腳手架使用詳解
這篇文章主要為大家介紹了如何使用Nunu快速構(gòu)建高效可靠Go應(yīng)用腳手架詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Golang使用pprof檢查內(nèi)存泄漏的全過(guò)程
pprof 是golang提供的一款分析工具,可以分析CPU,內(nèi)存的使用情況,本篇文章關(guān)注它在分析內(nèi)存泄漏方面的應(yīng)用,本文給大家介紹了Golang使用pprof檢查內(nèi)存泄漏的全過(guò)程,文中通過(guò)代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02