Go 学习笔记(51)— Go 标准库之 strings(字符串比较、字符串前后缀、字符串统计、字符串索引、字符串包含、字符串转换、字符串复制、字符串替换、字符串去除、字符串分割和连接)
生活随笔
收集整理的這篇文章主要介紹了
Go 学习笔记(51)— Go 标准库之 strings(字符串比较、字符串前后缀、字符串统计、字符串索引、字符串包含、字符串转换、字符串复制、字符串替换、字符串去除、字符串分割和连接)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 概述說明
import "strings"
strings 包實現了用于操作字符的簡單函數。 strings 包與 bytes 包中的函數用法基本一樣。
2. 主要函數
2.1 字符串比較
func Compare(a, b string) int // 如果a==b返回0;如果a<b返回-1;否則返回+1
func EqualFold(s, t string) bool
// 判斷兩個utf-8編碼字符串(將unicode大寫、小寫、標題三種格式字符視為相同)是否相同。
2.2 字符串前后綴
func HasPrefix(s, prefix string) bool // 判斷s是否有前綴字符串prefix
func HasSuffix(s, suffix string) bool // 判斷s是否有后綴字符串suffix
2.3 字符串統計
func Count(s, sep string) int // 返回字符串s中有幾個不重復的sep子串
2.4 字符串索引
func Index(s, sep string) int // 子串sep在字符串s中第一次出現的位置,不存在則返回-1
func IndexByte(s string, c byte) int // 字符c在s中第一次出現的位置,不存在則返回-1
func IndexRune(s string, r rune) int // unicode碼值r在s中第一次出現的位置,不存在則返回-1
func IndexAny(s, chars string) int
// 字符串chars中的任一utf-8碼值在s中第一次出現的位置,如果不存在或者chars為空字符串則返回-1func IndexFunc(s string, f func(rune) bool) int
// s 中第一個滿足函數 f 的位置 i(該處的utf-8碼值r滿足f(r)==true),不存在則返回-1func LastIndex(s, sep string) int
// 子串sep在字符串s中最后一次出現的位置,不存在則返回-1func LastIndexAny(s, chars string) int
// 字符串chars中的任一utf-8碼值在s中最后一次出現的位置,如不存在或者chars為空字符串則返回-1func LastIndexFunc(s string, f func(rune) bool) int
// s中最后一個滿足函數f的unicode碼值的位置i,不存在則返回-1
2.5 字符串包含
func Contains(s, substr string) bool // 判斷字符串s是否包含子串substr
func ContainsRune(s string, r rune) bool// 判斷字符串s是否包含utf-8碼值r
func ContainsAny(s, chars string) bool // 判斷字符串s是否包含字符串chars中的任一字符
2.6 字符串轉換
func Title(s string) string // 返回s中每個單詞的首字母都改為標題格式的字符串拷貝
func ToLower(s string) string // 返回將所有字母都轉為對應的小寫版本的拷貝
func ToLowerSpecial(_case unicode.SpecialCase, s string) string
// 使用_case規定的字符映射,返回將所有字母都轉為對應的小寫版本的拷貝func ToUpper(s string) string // 返回將所有字母都轉為對應的大寫版本的拷貝
func ToUpperSpecial(_case unicode.SpecialCase, s string) string
// 使用_case規定的字符映射,返回將所有字母都轉為對應的大寫版本的拷貝func ToTitle(s string) string // 返回將所有字母都轉為對應的標題版本的拷貝
func ToTitleSpecial(_case unicode.SpecialCase, s string) string
// 使用_case規定的字符映射,返回將所有字母都轉為對應的標題版本的拷貝
2.7 字符串復制
func Repeat(s string, count int) string // 返回count個s串聯的字符串
2.8 字符串替換
func Replace(s, old, new string, n int) string
// 返回將s中前n個不重疊old子串都替換為new的新字符串,如果n<0會替換所有old子串func Map(mapping func(rune) rune, s string) string
// 將s的每一個unicode碼值r都替換為mapping(r),返回這些新碼值組成的字符串拷貝。
// 如果mapping返回一個負值,將會丟棄該碼值而不會被替換
2.9 字符串去除
func Trim(s string, cutset string) string
// 返回將s前后端所有cutset包含的utf-8碼值都去掉的字符串func TrimSpace(s string) string
// 返回將s前后端所有空白(unicode.IsSpace指定)都去掉的字符串func TrimFunc(s string, f func(rune) bool) string
// 返回將s前后端所有滿足f的unicode碼值都去掉的字符串func TrimLeft(s string, cutset string) string
// 返回將s前端所有cutset包含的utf-8碼值都去掉的字符串func TrimLeftFunc(s string, f func(rune) bool) string
// 返回將s前端所有滿足f的unicode碼值都去掉的字符串func TrimPrefix(s, prefix string) string
// 返回去除s可能的前綴prefix的字符串func TrimRight(s string, cutset string) string
// 返回將s后端所有cutset包含的utf-8碼值都去掉的字符串func TrimRightFunc(s string, f func(rune) bool) string
// 返回將s后端所有滿足f的unicode碼值都去掉的字符串func TrimSuffix(s, suffix string) string
// 返回去除s可能的后綴suffix的字符串
2.10 字符串分割
func Fields(s string) []string
/*
返回將字符串按照空白(unicode.IsSpace確定,可以是一到多個連續的空白字符)分割的多個字符串。
如果字符串全部是空白或者是空字符串的話,會返回空切片
*/func FieldsFunc(s string, f func(rune) bool) []string
/*
類似Fields,但使用函數f來確定分割符(滿足f的unicode碼值)。
如果字符串全部是分隔符或者是空字符串的話,會返回空切片
*/func Split(s, sep string) []string
/*
用去掉s中出現的sep的方式進行分割,會分割到結尾,并返回生成的所有片段組成的切片
(每一個sep都會進行一次切割,即使兩個sep相鄰,也會進行兩次切割)。
如果sep為空字符,Split會將s切分成每一個unicode碼值一個字符串
*/func SplitN(s, sep string, n int) []string
/*
用去掉s中出現的sep的方式進行分割,會分割到結尾,并返回生成的所有片段組成的切片
(每一個sep都會進行一次切割,即使兩個sep相鄰,也會進行兩次切割)。
如果sep為空字符,Split會將s切分成每一個unicode碼值一個字符串。參數n決定返回的切片的數目:
n > 0 : 返回的切片最多n個子字符串;最后一個子字符串包含未進行切割的部分。
n == 0: 返回nil
n < 0 : 返回所有的子字符串組成的切片
*/func SplitAfter(s, sep string) []string
/*
用從s中出現的sep后面切斷的方式進行分割,會分割到結尾,并返回生成的所有片段組成的切片
(每一個sep都會進行一次切割,即使兩個sep相鄰,也會進行兩次切割)。
如果sep為空字符,Split會將s切分成每一個unicode碼值一個字符串
*/func SplitAfterN(s, sep string, n int) []string
/*
用從s中出現的sep后面切斷的方式進行分割,會分割到結尾,并返回生成的所有片段組成的切片
(每一個sep都會進行一次切割,即使兩個sep相鄰,也會進行兩次切割)。
如果sep為空字符,Split會將s切分成每一個unicode碼值一個字符串。參數n決定返回的切片的數目:
n > 0 : 返回的切片最多n個子字符串;最后一個子字符串包含未進行切割的部分。
n == 0: 返回nil
n < 0 : 返回所有的子字符串組成的切
*/
2.11 字符串連接
func Join(a []string, sep string) string // 將一系列字符串連接為一個字符串,之間用sep來分隔
總結
以上是生活随笔為你收集整理的Go 学习笔记(51)— Go 标准库之 strings(字符串比较、字符串前后缀、字符串统计、字符串索引、字符串包含、字符串转换、字符串复制、字符串替换、字符串去除、字符串分割和连接)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Go 学习笔记(50)— Go 标准库之
- 下一篇: 不孕不育,想做试管