最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

golang 中strings包的Replace的使用說(shuō)明

 更新時(shí)間:2021年03月22日 11:16:51   作者:kph_Hajash  
這篇文章主要介紹了golang 中strings包的Replace的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

函數(shù)聲明為:

func Replace(s, old, new string, n int) string

官方描述為:

返回將s中前n個(gè)不重疊old子串都替換為new的新字符串,如果n<0會(huì)替換所有old子串。

示例代碼為,每行的結(jié)果見(jiàn)每行上面的注釋部分:

func main() {
 // non-overlapping: "123" repeat 6 times in s
 s := "123lafaldsjglad123lkfasdf123djfal123lkdjga123lksjfla123l"
 old := "123"
 new := "888"
 
 fmt.Println("non-overlapping: ")
  // n < 0 ,用 new 替換所有匹配上的 old;n=-1: 888lafaldsjglad888lkfasdf888djfal888lkdjga888lksjfla888l
 fmt.Println("n=-1: ", strings.Replace(s, old, new, -1 ))
 
 // 不替換任何匹配的 old;n=0: 123lafaldsjglad123lkfasdf123djfal123lkdjga123lksjfla123l
 fmt.Println("n=0: ", strings.Replace(s, old, new, 0 )) 

 // 用 new 替換第一個(gè)匹配的 old;n=1: 888lafaldsjglad123lkfasdf123djfal123lkdjga123lksjfla123l
 fmt.Println("n=1: ", strings.Replace(s, old, new, 1 ))

 // 用 new 替換前 5 個(gè)匹配的 old(實(shí)際多于 5 個(gè));n=5: 888lafaldsjglad888lkfasdf888djfal888lkdjga888lksjfla123l
 fmt.Println("n=5: ", strings.Replace(s, old, new, 5 )) 
 
 // 用 new 替換前 7 個(gè)匹配上的 old(實(shí)際沒(méi)那么多);n=7: 888lafaldsjglad888lkfasdf888djfal888lkdjga888lksjfla888l
 fmt.Println("n=7: ", strings.Replace(s, old, new, 7 )) 

 // overlapping:
 s = "888888888888888888"
 old = "888"
 new = "666"
 fmt.Println("overlapping: ")

 // n < 0 ,用 new 替換所有匹配上的 old;n=-1: 666666666666666666
 fmt.Println("n=-1: ", strings.Replace(s, old, new, -1 )) 

 // 不替換任何匹配的 old;n=0: 888888888888888888
 fmt.Println("n=0: ", strings.Replace(s, old, new, 0 )) 
 
 // 用 new 替換第一個(gè)匹配的 old;n=1: 666888888888888888
 fmt.Println("n=1: ", strings.Replace(s, old, new, 1 )) 

  // 用 new 替換前 5 個(gè)匹配的 old(實(shí)際多于 5 個(gè));n=5: 666666666666666888
 fmt.Println("n=5: ", strings.Replace(s, old, new, 5 ))

  // 用 new 替換前 7 個(gè)匹配上的 old(實(shí)際沒(méi)那么多);n=7: 666666666666666666
 fmt.Println("n=7: ", strings.Replace(s, old, new, 7 ))
}

補(bǔ)充:golang_字符串操作: strings包中Contains,Join,Index,Repeat,Split,Trim,Fields的用法介紹

字符串處理

Contains

func Contains(s, substr string) bool

判斷字符串s是否包含子串substr。

fmt.Println(strings.Contains("seafood", "foo")) //true

Join

func Join(a []string, sep string) string

將一系列字符串連接為一個(gè)字符串,之間用sep來(lái)分隔。

s := []string{"foo", "bar", "baz"}
fmt.Println(strings.Join(s, ", ")) //foo, bar, baz

Index

查找子串的位置

func Index(s, sep string) int

子串sep在字符串s中第一次出現(xiàn)的位置,不存在則返回-1。

fmt.Println(strings.Index("chicken", "ken")) //4
fmt.Println(strings.Index("chicken", "dmr")) //不包含子串返回-1 

Repeat

func Repeat(s string, count int) string

返回count個(gè)s串聯(lián)的字符串。

fmt.Println("ba" + strings.Repeat("na", 2)) //banana

Split

以指定的分隔符拆分,返回一組切片

func Split(s, sep string) []string 

用去掉s中出現(xiàn)的sep的方式進(jìn)行分割,會(huì)分割到結(jié)尾,并返回生成的所有片段組成的切片(每一個(gè)sep都會(huì)進(jìn)行一次切割,

即使兩個(gè)sep相鄰,也會(huì)進(jìn)行兩次切割)。如果sep為空字符,Split會(huì)將s切分成每一個(gè)unicode碼值一個(gè)字符串。

fmt.Printf("%q\n", strings.Split("a,b,c", ",")) //%q 輸出格式為:帶引號(hào)的字符串
fmt.Printf("%q\n", strings.Split("a man a plan a canal panama", "a "))
fmt.Printf("%q\n", strings.Split(" xyz ", ""))
fmt.Printf("%q\n", strings.Split("", "Bernardo O'Higgins"))

Output:

["a" "b" "c"]
["" "man " "plan " "canal panama"]
[" " "x" "y" "z" " "]
[""] //若分隔符在原字符串中不存在,返回原字符串切片

Trim

去掉兩端的字符

func Trim(s string, cutset string) string

返回將s前后端==所有==cutset包含的utf-8碼值都去掉的字符串。

fmt.Println(strings.Trim(" !!! Achtung! Achtung! !!! ", "! ")) 
// Achtung! Achtung
// 會(huì)去掉字符串兩端所有的"!"和" "

Fields

去掉空格,把元素放入切片中

func Fields(s string) []string

返回將字符串按照空白(unicode.IsSpace確定,可以是一到多個(gè)連續(xù)的空白字符)

分割的多個(gè)字符串。如果字符串全部是空白或者是空字符串的話,會(huì)返回空切片。

fmt.Printf("Fields are: %q", strings.Fields(" foo bar baz "))
// Fields are: ["foo" "bar" "baz"]

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • GoRoutines高性能同時(shí)進(jìn)行多個(gè)Api調(diào)用實(shí)現(xiàn)

    GoRoutines高性能同時(shí)進(jìn)行多個(gè)Api調(diào)用實(shí)現(xiàn)

    這篇文章主要為大家介紹了GoRoutines高性能同時(shí)進(jìn)行多個(gè)Api調(diào)用實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Go語(yǔ)言中函數(shù)的使用方法詳解

    Go語(yǔ)言中函數(shù)的使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言中函數(shù)的使用方法的相關(guān)資料,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Go語(yǔ)言有一定的幫助,感興趣的可以了解一下
    2023-04-04
  • 淺析Golang中閉包的創(chuàng)建與使用

    淺析Golang中閉包的創(chuàng)建與使用

    閉包是包括?Go?在內(nèi)的編程語(yǔ)言的一項(xiàng)強(qiáng)大功能,通過(guò)閉包,您可以在函數(shù)中封裝數(shù)據(jù),并通過(guò)函數(shù)的返回值訪問(wèn)這些數(shù)據(jù),本文將介紹Go?中閉包的基礎(chǔ)知識(shí),希望對(duì)大家有所幫助
    2023-11-11
  • go協(xié)程池實(shí)現(xiàn)原理小結(jié)

    go協(xié)程池實(shí)現(xiàn)原理小結(jié)

    本文主要介紹了go協(xié)程池實(shí)現(xiàn)原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • Go中crypto/rsa庫(kù)的高效使用指南

    Go中crypto/rsa庫(kù)的高效使用指南

    本文主要介紹了Go中crypto/rsa庫(kù)的高效使用指南,從 RSA 的基本原理到 crypto/rsa 庫(kù)的實(shí)際應(yīng)用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • vscode 通過(guò)Go:Install/Update Tools命令安裝失敗的問(wèn)題解決

    vscode 通過(guò)Go:Install/Update Tools命令安裝失敗的問(wèn)題解決

    本文介紹了在VSCode開(kāi)發(fā)環(huán)境中通過(guò)Go:Install/UpdateTools命令安裝工具時(shí)遇到網(wǎng)絡(luò)問(wèn)題的解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • 淺析Golang中字符串拼接問(wèn)題

    淺析Golang中字符串拼接問(wèn)題

    Go的字符串是一個(gè)不可改變的數(shù)據(jù)結(jié)構(gòu),這和其他語(yǔ)言如JAVA,C++等的設(shè)定很類(lèi)似.總體來(lái)說(shuō),有如下五種拼接方式,下面我們將論述各種方式的性能問(wèn)題,以及如何選擇
    2023-04-04
  • Mango?Cache緩存管理庫(kù)TinyLFU源碼解析

    Mango?Cache緩存管理庫(kù)TinyLFU源碼解析

    這篇文章主要為大家介紹了Mango?Cache緩存管理庫(kù)TinyLFU源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Go語(yǔ)言中for循環(huán)的經(jīng)典案例分析

    Go語(yǔ)言中for循環(huán)的經(jīng)典案例分析

    for循環(huán)問(wèn)題,在面試中經(jīng)常都會(huì)被問(wèn)到,并且在實(shí)際業(yè)務(wù)項(xiàng)目中也經(jīng)常用到for循環(huán),要是沒(méi)用好,一不下心就掉坑。本文為大家挑選了幾個(gè)經(jīng)典的案例,一塊來(lái)探討下,看看如何避免掉坑,多積累積累采坑經(jīng)驗(yàn)
    2023-02-02
  • Golang 在gin框架中如何使用JWT鑒權(quán)

    Golang 在gin框架中如何使用JWT鑒權(quán)

    JWT,全稱 JSON Web Token,是一種開(kāi)放標(biāo)準(zhǔn)(RFC 7519),用于安全地在雙方之間傳遞信息,這篇文章主要介紹了golang 在Gin框架中使用JWT鑒權(quán),需要的朋友可以參考下
    2024-07-07

最新評(píng)論

上杭县| 辽阳县| 山东省| 门头沟区| 龙游县| 府谷县| 子洲县| 康乐县| 岳阳县| 韶关市| 雅安市| 云和县| 和林格尔县| 酒泉市| 彰化县| 定安县| 红安县| 余江县| 博客| 巴楚县| 柘城县| 大名县| 噶尔县| 尚志市| 丰台区| 从江县| 奉贤区| 遂宁市| 闵行区| 仪陇县| 昌图县| 从化市| 山阴县| 栖霞市| 昔阳县| 阳信县| 会理县| 明水县| 栖霞市| 贵南县| 凉城县|