日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Go 学习笔记(51)— Go 标准库之 strings(字符串比较、字符串前后缀、字符串统计、字符串索引、字符串包含、字符串转换、字符串复制、字符串替换、字符串去除、字符串分割和连接)

發布時間:2023/11/27 生活经验 51 豆豆

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(字符串比较、字符串前后缀、字符串统计、字符串索引、字符串包含、字符串转换、字符串复制、字符串替换、字符串去除、字符串分割和连接)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。