Golang中使用不定數(shù)量空格分割字符串的方法
使用 strings.Fields 函數(shù)
strings.Fields 函數(shù)接受一個(gè)字符串類型的參數(shù),使用空格及多個(gè)連續(xù)的空格將字符串進(jìn)行分割,返回一個(gè)字符串切片,正好滿足了我們的需求。使用示例如下:
package main import ( "fmt" "strings" ) func main() { str := "歡迎來(lái)到路多辛的博客 所思所想 很棒" s := strings.Fields(str) fmt.Println(s) }
運(yùn)行看下效果:
$ go run main.go
[歡迎來(lái)到路多辛的博客 所思所想 很棒]
可以看出 str 中的子串雖然被數(shù)量不等的空格隔開,使用strings.Fields 函數(shù)處理后得到了一個(gè)字符串類型的切片,字符串被完美分割。
使用正則表達(dá)式
首先看下示例代碼:
package main import ( "fmt" "regexp" ) func main() { str := "歡迎來(lái)到路多辛的博客 所思所想 很棒" reg := regexp.MustCompile(`\s+`) result := reg.Split(str, -1) fmt.Println(result) }
運(yùn)行看下效果:
$ go run main.go
[歡迎來(lái)到路多辛的博客 所思所想 很棒]
得到了和上個(gè)示例一樣的數(shù)據(jù),首先使用 regexp.MustCompile 函數(shù)創(chuàng)建一個(gè)正則表達(dá)式,用于匹配一個(gè)或多個(gè)空格(\s+ 表示匹配至少一個(gè)空格字符)。然后使用 reg.Split 方法對(duì)字符串進(jìn)行分割,第二個(gè)參數(shù) -1 表示返回所有子串。
到此這篇關(guān)于Golang中使用不定數(shù)量空格分割字符串的方法的文章就介紹到這了,更多相關(guān)Golang空格分割字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Go語(yǔ)言實(shí)現(xiàn)LRU緩存的代碼詳解
在日常開發(fā)中,緩存是提高系統(tǒng)性能的重要手段,LRU緩存是一種基于“最近最少使用”策略的緩存系統(tǒng),其目的是在空間受限的情況下保留最新、最常用的數(shù)據(jù),本文將詳細(xì)講解如何使用?Go?語(yǔ)言實(shí)現(xiàn)一個(gè)?LRU?緩存,需要的朋友可以參考下2024-11-11詳解Go語(yǔ)言中結(jié)構(gòu)體與JSON間的轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言中結(jié)構(gòu)體與JSON間的轉(zhuǎn)換,文中的示例代碼講解詳細(xì),對(duì)學(xué)習(xí)Go語(yǔ)言有一定的幫助,需要的可以參考一下2022-12-12Go項(xiàng)目在linux服務(wù)器的部署詳細(xì)步驟
在今天的軟件開發(fā)中,使用Linux作為操作系統(tǒng)的比例越來(lái)越高,而Golang語(yǔ)言則因?yàn)槠涓咝?、?jiǎn)潔和并發(fā)性能等特點(diǎn),也被越來(lái)越多的開發(fā)者所青睞,這篇文章主要給大家介紹了關(guān)于Go項(xiàng)目在linux服務(wù)器的部署詳細(xì)步驟,需要的朋友可以參考下2023-09-09理解Golang中的數(shù)組(array)、切片(slice)和map
這篇文章主要介紹了理解Golang中的數(shù)組(array)、切片(slice)和map,本文先是給出代碼,然后一一分解,并給出一張內(nèi)圖加深理解,需要的朋友可以參考下2014-10-10Golang定時(shí)器Timer與Ticker的使用詳解
在 Go 里有很多種定時(shí)器的使用方法,像常規(guī)的 Timer、Ticker 對(duì)象,本文主要為大家介紹了Timer與Ticker的使用,感興趣的小伙伴可以了解一下2023-05-05Golang定時(shí)器的2種實(shí)現(xiàn)方法與區(qū)別
這篇文章主要給大家介紹了關(guān)于Golang定時(shí)器的2種實(shí)現(xiàn)方法與區(qū)別的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02Golang中漏洞數(shù)據(jù)庫(kù)的使用詳解
govulncheck是Golang中的漏洞掃描工具,它強(qiáng)大功能的背后,離不開?Go?漏洞數(shù)據(jù)庫(kù)(Go?vulnerability?database)的支持,所以本文就來(lái)為大家詳細(xì)講解下?Go?漏洞數(shù)據(jù)庫(kù)相關(guān)的知識(shí)2023-09-09詳解GO語(yǔ)言中[]byte與string的兩種轉(zhuǎn)換方式和底層實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了GO語(yǔ)言中[]byte與string的兩種轉(zhuǎn)換方式和底層實(shí)現(xiàn)的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考下2024-03-03