golang?Strings包使用總結(jié)
更新時間:2021年03月22日 11:22:17 作者:江湖夜雨十年燈丶
Go語言在處理字符串時,strings包提供了豐富的函數(shù),如常用的strings.Contains檢查是否包含子串,strings.Join拼接字符串?dāng)?shù)組,strings.Split切割字符串等,熟悉這些函數(shù)能有效提高編程效率,尤其是在算法競賽或筆試題中
golang Strings包使用問題
最近做筆試題的時候經(jīng)常會碰到輸入花了很久時間的問題,就想記錄一下。
這個對做字符串類型的題有極大的幫助。
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 // 把一個字符串轉(zhuǎn)小寫 lower := strings.ToLower("KAKA") fmt.Println(lower) // kaka // 把一個字符串轉(zhuǎn)大寫 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 }
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Go語言構(gòu)建RESTful API服務(wù)
在實(shí)際開發(fā)項目中,你編寫的服務(wù)可以被其他服務(wù)使用,這樣就組成了微服務(wù)的架構(gòu);也可以被前端調(diào)用,這樣就可以前后端分離。那么,本文主要介紹什么是 RESTful API,以及 Go 語言是如何玩轉(zhuǎn) RESTful API 的2021-07-07k8s容器互聯(lián)-flannel?host-gw原理篇
這篇文章主要為大家介紹了k8s容器互聯(lián)-flannel?host-gw原理篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04詳解GO語言中[]byte與string的兩種轉(zhuǎn)換方式和底層實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了GO語言中[]byte與string的兩種轉(zhuǎn)換方式和底層實(shí)現(xiàn)的相關(guān)知識,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考下2024-03-03Golang 實(shí)現(xiàn)Socket服務(wù)端和客戶端使用TCP協(xié)議通訊
這篇文章主要介紹了Golang 實(shí)現(xiàn)Socket服務(wù)端和客戶端使用TCP協(xié)議通訊,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12從基礎(chǔ)到高級全方位解析Go中反射的應(yīng)用
本文我們將全面深入地探討Go語言的反射機(jī)制,從反射的基礎(chǔ)概念、為什么需要反射,到如何在Go中實(shí)現(xiàn)反射,以及在高級編程場景如泛型編程和插件架構(gòu)中的應(yīng)用,需要的可以參考下2023-10-10Go?語言數(shù)據(jù)結(jié)構(gòu)如何實(shí)現(xiàn)抄一個list示例詳解
這篇文章主要為大家介紹了Go?語言數(shù)據(jù)結(jié)構(gòu)如何實(shí)現(xiàn)抄一個list示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04