golang?Strings包使用總結
更新時間:2021年03月22日 11:22:17 作者:江湖夜雨十年燈丶
Go語言在處理字符串時,strings包提供了豐富的函數(shù),如常用的strings.Contains檢查是否包含子串,strings.Join拼接字符串數(shù)組,strings.Split切割字符串等,熟悉這些函數(shù)能有效提高編程效率,尤其是在算法競賽或筆試題中
golang Strings包使用問題
最近做筆試題的時候經常會碰到輸入花了很久時間的問題,就想記錄一下。
這個對做字符串類型的題有極大的幫助。
Strings包
package main import ( "fmt" "strings" ) func main() { // 判斷一個字符串是否在另一個字符串中 contains := strings.Contains("substr", "s") fmt.Println(contains) // true // 判斷一個字符串是否存在另一個字符串的任意字符 any := strings.ContainsAny("kaka", "nihao") fmt.Println(any) // true // 把一個字符串轉小寫 lower := strings.ToLower("KAKA") fmt.Println(lower) // kaka // 把一個字符串轉大寫 upper := strings.ToUpper("kaka") fmt.Println(upper) // kaka //判斷兩個字符串是否相同(無視大小寫) equal := strings.EqualFold("hello", "Hello") fmt.Println(equal) //true //判斷是否含有前綴,區(qū)分大小寫 prefix := strings.HasPrefix("hello", "he") fmt.Println(prefix) //true //判斷是否含有后綴,區(qū)分大小寫 suffix := strings.HasSuffix("hello", "llo") fmt.Println(suffix) //true //統(tǒng)計子串出現(xiàn)的次數(shù) count := strings.Count("hello", "l") fmt.Println(count) //2 // 判斷一個字符串在另一個字符串第一次出現(xiàn)的位置,不存在返回-1 index := strings.Index("Hello World", "or") fmt.Println(index) // 7 //判斷一個字符串中的任意一個字符在另一個字符串第一次出現(xiàn)的位置,不存在返回-1 indexany := strings.IndexAny("hello", "abcde") fmt.Println(indexany) //1 //判斷一個字符串最后出現(xiàn)的位置,不存在返回-1 同樣有any不再贅述 lastindex := strings.LastIndexAny("hello", "l") fmt.Println(lastindex) //替換 replace := strings.Replace("hello", "h", "k", -1) fmt.Println(replace) //kello //去掉前后端的指定字符 trim := strings.Trim("!!hel!lo!", "!") fmt.Println(trim) //hel!lo //去掉指定前綴 trimprefix := strings.TrimPrefix("hello", "he") fmt.Println(trimprefix) //llo //去掉指定后綴 trimsuffix := strings.TrimSuffix("hello", "llo") fmt.Println(trimsuffix) //he //按照空格切分字符串,返回切片 field := strings.Fields("i am jack") fmt.Println(field) //[i am jack] //按照指定字符分割字符串,返回切片 split := strings.Split("hello,i am jack", ",") fmt.Println(split) //[hello i am jack] //按照指定字符分割字符串,分割至指定位置,返回切片 splitN := strings.SplitN("hello,i,am,jack", ",", 2) fmt.Println(splitN) //[hello i,am,jack] //不去掉,帶著逗號分割 splitafter := strings.SplitAfter("hello,i,am,jack", ",") fmt.Println(splitafter) //[hello, i, am, jack] //將字符串切片合并成一個字符串,可以插入指定分隔符 join := strings.Join([]string{"I", "am", "jack"}, ",") fmt.Println(join) //I.am.jack //拼接字符串 var build strings.Builder build.WriteString("abc") build.WriteByte(65) fmt.Println(build.String()) //abcA }
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
k8s容器互聯(lián)-flannel?host-gw原理篇
這篇文章主要為大家介紹了k8s容器互聯(lián)-flannel?host-gw原理篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04詳解GO語言中[]byte與string的兩種轉換方式和底層實現(xiàn)
這篇文章主要為大家詳細介紹了GO語言中[]byte與string的兩種轉換方式和底層實現(xiàn)的相關知識,文中的示例代碼講解詳細,有需要的小伙伴可以參考下2024-03-03Golang 實現(xiàn)Socket服務端和客戶端使用TCP協(xié)議通訊
這篇文章主要介紹了Golang 實現(xiàn)Socket服務端和客戶端使用TCP協(xié)議通訊,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12Go?語言數(shù)據(jù)結構如何實現(xiàn)抄一個list示例詳解
這篇文章主要為大家介紹了Go?語言數(shù)據(jù)結構如何實現(xiàn)抄一個list示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04