Golang中使用不定數量空格分割字符串的方法
使用 strings.Fields 函數
strings.Fields 函數接受一個字符串類型的參數,使用空格及多個連續(xù)的空格將字符串進行分割,返回一個字符串切片,正好滿足了我們的需求。使用示例如下:
package main import ( "fmt" "strings" ) func main() { str := "歡迎來到路多辛的博客 所思所想 很棒" s := strings.Fields(str) fmt.Println(s) }
運行看下效果:
$ go run main.go
[歡迎來到路多辛的博客 所思所想 很棒]
可以看出 str 中的子串雖然被數量不等的空格隔開,使用strings.Fields 函數處理后得到了一個字符串類型的切片,字符串被完美分割。
使用正則表達式
首先看下示例代碼:
package main import ( "fmt" "regexp" ) func main() { str := "歡迎來到路多辛的博客 所思所想 很棒" reg := regexp.MustCompile(`\s+`) result := reg.Split(str, -1) fmt.Println(result) }
運行看下效果:
$ go run main.go
[歡迎來到路多辛的博客 所思所想 很棒]
得到了和上個示例一樣的數據,首先使用 regexp.MustCompile 函數創(chuàng)建一個正則表達式,用于匹配一個或多個空格(\s+ 表示匹配至少一個空格字符)。然后使用 reg.Split 方法對字符串進行分割,第二個參數 -1 表示返回所有子串。
到此這篇關于Golang中使用不定數量空格分割字符串的方法的文章就介紹到這了,更多相關Golang空格分割字符串內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
理解Golang中的數組(array)、切片(slice)和map
這篇文章主要介紹了理解Golang中的數組(array)、切片(slice)和map,本文先是給出代碼,然后一一分解,并給出一張內圖加深理解,需要的朋友可以參考下2014-10-10詳解GO語言中[]byte與string的兩種轉換方式和底層實現
這篇文章主要為大家詳細介紹了GO語言中[]byte與string的兩種轉換方式和底層實現的相關知識,文中的示例代碼講解詳細,有需要的小伙伴可以參考下2024-03-03