最近由于用go做字符串處理渐裂,用到了go的strings庫,借此對go strings庫做個總結(jié)脆丁,將go strings中所有函數(shù)的功能做一個簡單的說明蔚鸥,當(dāng)然,這是一個重復(fù)造輪子的過程捧弃,因為go語言標(biāo)準(zhǔn)庫已經(jīng)有中文版了赠叼。
詳見:https://studygolang.com/pkgdoc
所以寫本文主要有以下2個目的,其一违霞,熟悉編程語言字符串處理方法嘴办。大多數(shù)語言的字符串處理庫提供的函數(shù)都大同小異,且越高級的語言提供的函數(shù)越多买鸽,比如c提供的字符串處理函數(shù)go基本都有涧郊,但是go提供的c未必有。其實定義了基本的字符串處理函數(shù)后眼五,更高級字符串處理函數(shù)都是通過封裝基本的處理函數(shù)實現(xiàn)妆艘。所以熟悉go strings庫后基本就能熟悉大多語言的strings庫了。其二看幼,學(xué)習(xí)標(biāo)準(zhǔn)庫的命名方式批旺。命名是計算機科學(xué)最難的二件事之一,另外一件事是緩存失效诵姜∑螅可見命名在編程中重要性。作為一個剛?cè)腴T的程序員棚唆,熟悉標(biāo)準(zhǔn)庫的函數(shù)命名方式后暇赤,以后可以參考其命名方式,因為寫代碼很多時候都是在想一個合適的函數(shù)名瑟俭、方法名和變量名等翎卓。
函數(shù)列表
- Compare(a, b string) int
按字典順序比較a和b字符串大小
- func Contains(s, substr string) bool
判斷字符串s是否包含substr字符串
- func ContainsAny(s, chars string) bool
判斷字符串s是否包含chars字符串中的任一字符
- func ContainsRune(s string, r rune) bool
判斷字符串s是否包含unicode碼值r
- func Count(s, sep string) int
返回字符串s包含字符串sep的個數(shù)
- func EqualFold(s, t string) bool
判斷s和t兩個utf8字符串是否相等契邀,忽略大小寫
- func Fields(s string) []string
將字符串s以空白字符分割摆寄,返回一個切片
- func FieldsFunc(s string, f func(rune) bool) []string
將字符串s以滿足f(r)==true的字符分割,返回一個切片
- func HasPrefix(s, prefix string) bool
判斷字符串s是否有前綴字符串prefix
- func HasSuffix(s, suffix string) bool
判斷字符串s是否有前綴字符串suffix
- func Index(s, sep string) int
返回字符串s中字符串sep首次出現(xiàn)的位置
- func IndexAny(s, chars string) int
返回字符串chars中的任一unicode碼值r在s中首次出現(xiàn)的位置
- func IndexByte(s string, c byte) int
返回字符串s中字符c首次出現(xiàn)位置
- func IndexFunc(s string, f func(rune) bool) int
返回字符串s中滿足函數(shù)f(r)==true字符首次出現(xiàn)的位置
- func IndexRune(s string, r rune) int
返回unicode碼值r在字符串中首次出現(xiàn)的位置
- func Join(a []string, sep string) string
將a中的所有字符串連接成一個字符串,使用字符串sep作為分隔符
- func LastIndex(s, sep string) int
返回字符串s中字符串sep最后一次出現(xiàn)的位置
- func LastIndexAny(s, chars string) int
返回字符串s中任意一個unicode碼值r最后一次出現(xiàn)的位置
- func LastIndexByte(s string, c byte) int
返回字符串s中字符c最后一次出現(xiàn)的位置
- func LastIndexFunc(s string, f func(rune) bool) int
返回字符串s中滿足函數(shù)f(r)==true字符最后一次出現(xiàn)的位置
- func Map(mapping func(rune) rune, s string) string
將字符串s中的每個字符r按函數(shù)mapping(r)的規(guī)則轉(zhuǎn)換并返回
- func Repeat(s string, count int) string
將字符串s重復(fù)count次返回
- func Replace(s, old, new string, n int) string
替換字符串s中old字符為new字符并返回微饥,n<0是替換所有old字符串
- func Split(s, sep string) []string
將字符串s以sep作為分隔符進行分割逗扒,分割后字符最后去掉sep
- func SplitAfter(s, sep string) []string
將字符串s以sep作為分隔符進行分割,分割后字符最后附上sep
- func SplitAfterN(s, sep string, n int) []string
將字符串s以sep作為分隔符進行分割欠橘,分割后字符最后附上sep矩肩,n決定返回的切片數(shù)
- func SplitN(s, sep string, n int) []string
將字符串s以sep作為分隔符進行分割,分割后字符最后去掉sep肃续,n決定返回的切片數(shù)
- func Title(s string) string
將字符串s每個單詞首字母大寫返回
- func ToLower(s string) string
將字符串s轉(zhuǎn)換成小寫返回
- func ToLowerSpecial(_case unicode.SpecialCase, s string) string
將字符串s中所有字符按_case指定的映射轉(zhuǎn)換成小寫返回
- func ToTitle(s string) string
將字符串s轉(zhuǎn)換成大寫返回
- func ToTitleSpecial(_case unicode.SpecialCase, s string) string
將字符串s中所有字符按_case指定的映射轉(zhuǎn)換成大寫返回
- func ToUpper(s string) string
將字符串s轉(zhuǎn)換成大寫返回
- func ToUpperSpecial(_case unicode.SpecialCase, s string) string
將字符串s中所有字符按_case指定的映射轉(zhuǎn)換成大寫返回
- func Trim(s string, cutset string) string
將字符串s中首尾包含cutset中的任一字符去掉返回
- func TrimFunc(s string, f func(rune) bool) string
將字符串s首尾滿足函數(shù)f(r)==true的字符去掉返回
- func TrimLeft(s string, cutset string) string
將字符串s左邊包含cutset中的任一字符去掉返回
- func TrimLeftFunc(s string, f func(rune) bool) string
將字符串s左邊滿足函數(shù)f(r)==true的字符去掉返回
- func TrimPrefix(s, prefix string) string
將字符串s中前綴字符串prefix去掉返回
- func TrimRight(s string, cutset string) string
將字符串s右邊包含cutset中的任一字符去掉返回
- func TrimRightFunc(s string, f func(rune) bool) string
將字符串s右邊滿足函數(shù)f(r)==true的字符去掉返回
- func TrimSpace(s string) string
將字符串s首尾空白去掉返回
- func TrimSuffix(s, suffix string) string
將字符串s中后綴字符串prefix去掉返回